2016-03-22 26 views
1

jQuery ve Jquery UI ile başlıyorum.jqueryui iletişim kutusunda tıklayın clicker

$.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); 
}); 

nokta her satır öğesi bir giriş düğmesi etiketine sahip olmasıdır: Şu anda ben bir ajax iTunes yanıtından unsurları içerdiğini açtım kalıcı bir iletişim kutusu ile ilgili bir sorun var.

$(".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()); 
    }); 

Ama tıklama olayı tetiklenir asla: Şimdi giriş düğmesine üst pencere seçilen değerler geçirmek için tıklandığında yakalamak istiyorum. Biri bana yardım edebilir mi?

+0

Kimlik belgeleriniz dokümanda tekrarlanıyor mu? – Scimonster

+0

Soruyla ilgisi yok: HTML oluşturmak için değişkenleri metin editörleriyle birleştirmemenizi öneririz. Bu değişkenlerdeki veriler, düzeninizi kıracak veya hatta güvenlik riskleri oluşturabilecek (kaynağa bağlı olarak) özel karakterlere sahip olabilir. Birleştirme sırasında jquery'nin '.text()' veya html kodlarını kullanın. –

cevap

1

Sen ajax başarı fonksiyonu ($ .each() kısmı sonra) içindeki

$(".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()); 
    }); 

bölümünü eklemek gerekir, ve bu çalışması gerekir. Bu şekilde yapılırsa tıklama etkinliğini dinamik olarak oluşturulan içeriğe bağlarsınız.

1

Bunu denediniz mi?

$(document).on("click" , ".itunes-select" , function() { 

    // Your Code Here 

}); 
0

Bunu deneyin: $(document).on("click", ".itunes-select", function(){});.

Bu tıklamayı yaptığınız şekilde seçilen öğelerle ilgilidir. JQuery belgelerinden: ".on() yöntemi, olay işleyicilerini jQuery nesnesinde geçerli olarak seçilmiş öğeler kümesine ekler."

İlgili konular