Reputation: 254
I created my check box dynamically in my page. i want to add click event for all checkboxes that dynamically created.
here is my code.
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" id="br">
</fieldset>
</div>
i dynamically created checkboxes and append to fieldset.
$.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" );
});
i use on(), live(), deligate() method to add event handlers on check boxes.
$('#br').delegate('click','input:checkbox', function(event) {
alert('selected');
});
$('#br').on('click','input:checkbox', function(event) {
alert('selected');
});
nothing is working for me...
Upvotes: 16
Views: 23933
Reputation: 885
Try this, it's working for dynamically added checkboxes.
$(document).on("click", "INPUT[id^=checkboxId_]", function (event) {
var targetId = event.target.id;
if ($("#" + targetId + ":checked").length > 0) {
alert('checked');
}
else {
alert('unchecked');
}
});
Upvotes: 1
Reputation: 2287
For a dinamically added Button inside a Collapsible List (or anything) i do this:
$(document).on("click", "#listaEntrada input", function(evt) {
var txSeleccionado = $(this).text(); //<-El Texto Seleccionado
console.log(evt);
});
Upvotes: 2