我從jQuery和JQuery UI開始。目前,我有一個模式對話框我已經打開包含從一個Ajax響應的iTunes元素一個問題:點擊jqueryui對話框上的事件
$.ajax({
url: $url,
dataType: 'JSONP'
})
.done(function(data) {
console.log(data);
var cuadro_itunes = "<table><tr><td>Artista</td><td>Tema</td><td>Portada</td><td>Usar</td></tr>";
$.each(data.results, function(i) {
cuadro_itunes = cuadro_itunes+"<tr><td>"+
data.results[i].artistName+"</td><td>"+
data.results[i].trackName+"</td><td>"+
"<img class='itunes-imagen' id='"+i+"' src='"+data.results[i].artworkUrl100+"' />"+
"<input type='hidden' class='itunes-url' id='"+i+"' value='"+data.results[i].trackViewUrl+"' /></td><td>"+
"<input type='button' class='itunes-select' id='"+i+"' value='Seleccionar' /></td></tr>";
});
cuadro_itunes = cuadro_itunes+"</table>";
$("#itunes-dialog").html(cuadro_itunes);
$("#itunes-dialog").dialog("open");
})
.fail(function(data) {
console.log(data);
});
的一點是,每個行元素有一個輸入按鈕標籤。現在,我要趕,只要輸入按鈕被點擊所選擇的值傳遞給父窗口:
$(".itunes-select").on("click", function() {
$("#itunes-dialog").dialog("close");
$("body").find(".enlace#"+window.busqueda_id).val($("#itunes-dialog").find(".itunes-url#"+$(this).attr("id")).val());
$("body").find(".portada#"+window.busqueda_id).val($("#itunes-dialog").find(".itunes-imagen#"+$(this).attr("id")).val());
});
但click事件永遠不會觸發。誰能幫我?
您的ids是否在整個文檔中重複? – Scimonster
與這個問題無關:我建議你不要將變量連接到文本文字來組成HTML。這些變量中的數據可能會包含特殊字符,這些字符會破壞您的佈局,甚至存在安全風險(取決於源代碼)。在串聯期間使用jquery的'.text()'或html-編碼每個值。 –