15

我在我的页面中动态创建了我的复选框。我想为所有动态创建的复选框添加点击事件。

这是我的代码。

<div data-role="fieldcontain">
         <fieldset data-role="controlgroup" id="br">

        </fieldset> 
</div>

我动态创建了复选框并附加到字段集。

$.getJSON("http://localhost/WebSite/",
    function(data){ 
    var branchOp="";
      $.each(data.branch, function(i,item){   
         branchOp += '<input type="checkbox" name="branch" id="'+item.branchCode+'" value="'+item.branchCode+'" class="branch"><label for="'+item.branchCode+'">'+item.branchName+'</label>'; 
         $(item.branchCode).addClass("intro");     
      });
      $('#br').append(branchOp).trigger( "create" );  
      });

我使用 on()、live()、deligate() 方法在复选框上添加事件处理程序。

$('#br').delegate('click','input:checkbox', function(event) {
  alert('selected');
 }); 



$('#br').on('click','input:checkbox', function(event) {
alert('selected');
});

没有什么对我有用...

4

3 回答 3

36

使用复选框/单选按钮,使用change事件。

演示

$(document).on('change', '[type=checkbox]', function() {
// code here
}); 

此外,您可以click在包装复选框的 div 上使用。

$(document).on('click', 'div.ui-checkbox', function() {
  // code here
});
于 2013-08-22T11:24:02.227 回答
1

试试这个,它适用于动态添加的复选框。

$(document).on("click", "INPUT[id^=checkboxId_]", function (event) {
   var targetId = event.target.id;

   if ($("#" + targetId + ":checked").length > 0) {
      alert('checked');
   }
   else {
      alert('unchecked');
   }
});
于 2018-02-26T04:22:27.450 回答
1

对于可折叠列表(或任何东西)内的动态添加按钮,我这样做:

$(document).on("click", "#listaEntrada input", function(evt) {
        var txSeleccionado = $(this).text(); //<-El Texto Seleccionado
        console.log(evt);
});
于 2016-01-19T16:30:25.100 回答