jQueryとJquery UIから始めます。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);
});
ポイントは、各行の要素は、入力ボタンタグを持っていることである。現在、私は、私は、AJAX iTunesの応答からの要素が含まれている開いたモーダルダイアログに問題があります。
$(".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());
});
しかし、クリックイベントがトリガされることはありません。今、私は、入力ボタンが親ウィンドウに選択された値を渡すためにクリックされるたびにキャッチしたいです。誰でも助けてくれますか?
idsが文書全体で繰り返されていますか? – Scimonster
質問には関係ありません:HTMLを構成するために変数をテキストリテラルに連結しないことをお勧めします。これらの変数のデータに潜在的にレイアウトを破るか、セキュリティリスクをかける特殊文字(ソースに応じて)がある可能性があります。連結中にjqueryの '.text()'を使用するか、各値をhtmlエンコードしてください。 –