※ ChatGPTを利用し、要約された質問です(原文:no confilict で value値が取れな)
jQueryとAjaxの競合による要素の取得不具合の解決方法
このQ&Aのポイント
AjaxとjQueryを競合させているため、要素の取得ができない問題が発生しました。
競合を解消するために、Query.noConflict()を使用してjQueryの競合を回避しました。
要素の取得にはliveメソッドを使用し、値を取得する際は$('input').eq(input_no).val()と記述しましたが、折角使っているprototpye.jsを活用するために、$('edt_code')で取得したいと思っています。
no confilict で value値が取れな
いつもお世話になっています。
以前にも質問した事があるのですが、
ちょっと違う事象が出てきたので、
質問させて下さい。
AjaxとjQueryを競合させているため下記のように記述しました。
Query.noConflict();
jQuery(document).ready(function($){
$("input").live("click",function(){
e = $(this).attr("id");
ev = e.substr(0,e.lastIndexOf('['));
if(ev == 'mod' || ev == 'refer' || ev == 'del'){
//一覧のレコードを取得
list_flg = 1;
fno = e.lastIndexOf('[')+1;
lno = e.lastIndexOf(']');
no = e.substr(fno,(lno-fno));
//hidden位置取得
input_no = (no == '1') ? 0 : parseInt(no) + 6;
//hiddenの値取得
code = ($("input").eq(input_no).val());
}
else if(e == 'insert' || e == 'update' || e == 'delete'){ //DB登録時
//新規・編集確認画面からの遷移時
db_flg = 1;
ev = e;
code = $('input').eq(0).val();
if(ev == 'update' || ev == 'delete'){
//編集及び削除時はdefault_codeで既存codeのエラーチェックを行う
default_code = $('input').eq(1).val();
}
}
}
}
下記の記述をしないと値がとれないのです。
code = $("input").eq(input_no).val();
本当なら下記のように記述したいのですが、駄目でした。
code = $('edt_code').val()
document.getElementById('edt_code').value
とすれば取れるのですが、折角portotype.jsを使っているので、
$('edt_code')としたいのです。
尚、日本語リファレンスに記述している事もやった結果です。
またjqueryはinnerHTMLで記述したもので取得するため、liveメソッドを使用しています。
どうかご教授願えないでしょうか。
お礼
ご回答有難うございました。 最上位のオブジェクト(window)を使う事で解決しました。 ただjQueryのval()は使えず、valueで取得できました。