class="thumnail" のサムネイル画像に jQuery クリック イベントをバインドしています。
$(".thumbnail").click(function(){
var obj = new Object();
obj.el = "imageEdit";
obj.id = $(this).attr("id").replace("img_","");
openDialogue(obj);
});
ご覧のとおり、私は次のとおりです。
- オブジェクト「obj」を作り、
- 関数「openDialogue」を呼び出し、
- 私のオブジェクト「obj」をopenDialogueに渡します。
openDialogue はダイアログ ボックスを開き、ダイアログ ボックスで ajax 呼び出しを実行し、画像パスを取得して、ダイアログ ボックスに画像を入力します。これは、php を使用してフォーム アクション ページとしてページの更新時にサムネイルが読み込まれるときに正常に機能します。
しかし、選択フィールドの変更時に、js/jQueryを使用してサムネイルボックスにデータを入力する必要もあります.jQueryは、ボタン、アンカー、画像などの動的に作成された要素をリッスンしないと思います(これについて間違っていますか? ?)。
選択ボックスを使用して製品を変更すると、次のコードを使用してサムネイル jpg をサムネイル スペースに入力します。
$("#picture_row").empty();
$.each( data, function( k ) {
var id;
$.each( data[k], function( kk,vv ){
if(kk == "id"){
id = vv;
var e = $('<div class="thumbBox" id="imageBox_'+id+'"></div>');
$('#picture_row').append(e);
}
else if(kk == "file_name"){
var obj = new Object();
obj.el = "imageEdit";
obj.id = id;
var file_name = vv.replace(".jpg","_thumb.jpg");
var img = $("<img class='thumbnail' id='img_"+id+"' src='../images/products/thumbs/"+file_name+"' onclick='openDialogue("+obj+");return false;' />");
$("#imageBox_"+id).append(img);
}
})
});
ご覧のとおり、新しいイメージを作成し、onclick を追加しようとするのは次の行です。
var img = $("<img class='thumbnail' id='img_"+id+"' src='../images/products/thumbs/"+file_name+"' onclick='openDialogue("+obj+");return false;' />");
$("#imageBox_"+id).append(img);
何らかの理由で、オブジェクト「obj」を動的作成関数呼び出しに渡すことができません。
onclick='openDialogue("+obj+");return false;'
次のエラーが表示されます。
Timestamp: 9/28/2013 7:04:33 PM
Error: SyntaxError: missing ] after element list
Source File: (domain and path)/management/
Line: 1, Column: 21
Source Code:
openDialogue([object Object]);return false;