jquery复选框单击使用JSON创建的函数不起作用

时间:2014-01-27 08:02:54

标签: jquery json checkbox cakephp-1.3

我有一个jquery-ajax函数,它创建了一个复选框列表。

success: function(msg){

    jQuery.each(msg.gal_sublocations, function(index, gal_sublocation) {
        html += '<input type="checkbox" name="data[GalStore][gal_sublocation_id][]" value = "'+gal_sublocation.GalSublocation.id+'" class="chkbx" id="sublocation_'+gal_sublocation.GalSublocation.id+'" />'+gal_sublocation.GalSublocation.name;

        $('#load_sublocations').html(html);
       alert(html);
       $('#sublocation_'+gal_sublocation.GalSublocation.id).click(function(){
            alert('Checked !');
        });

    });  

} 

alert(html)生成最终提醒

<input type="checkbox" name="data[GalStore][gal_sublocation_id][]" value = "99" class="chkbx" id="sublocation_99" />Beltola
<input type="checkbox" name="data[GalStore][gal_sublocation_id][]" value = "101" class="chkbx" id="sublocation_101" />Dispur
<input type="checkbox" name="data[GalStore][gal_sublocation_id][]" value = "102" class="chkbx" id="sublocation_102" />Paltan Bazar
<input type="checkbox" name="data[GalStore][gal_sublocation_id][]" value = "100" class="chkbx" id="sublocation_100" />Patarkuchi

但是当我点击复选框时,它没有提醒任何东西!怎么回事?

2 个答案:

答案 0 :(得分:0)

你需要使用jquery On(),因为你的代码在加载后追加。

像这样使用;

$(".class").on('click', function(){
 // ajax operation
}}

答案 1 :(得分:0)

在创建输入字符串时,最好在那里创建一个节点:

var html = $("<input />").attr({
    "type" : "checkbox",
    "name" : data[GalStore][gal_sublocation_id][],
    "id" : 'sublocation_' + gal_sublocation.GalSublocation.id,
    "class" : "chkbx"
})
.val(gal_sublocation.GalSublocation.id)
.click(function(){
      alert('Checked !');
}); 

$('#load_sublocations').append(html);