我有一个包含动态创建的表的html。我为每行添加了复选框,如下所示
<table style="width: 100%" id="client_site_data" class="display">
<caption>Client Site Info</caption>
<thead>
<tr>
<th>Set to Processing</th>
<th>Sites</th>
<th>Machines</th>
<th>ProcessingState</th>
<th>Last Updated</th>
<th>Reset the Processing</th>
</tr>
</thead>
</table>
....
$.each(data, function(id, value) {
rows.push('<tr><td><input type="checkbox" id="chkbox" name="chkbox" value="'+value.site+':'+value.client+'\'"></td><td>' + id + '</td><td>' + value.machine
+ '</td><td>' + value.state + '</td><td>'
+ value.date_processed + '</td><td><button type="button" onclick="resetSite(\''+ value.site+'\',\''+value.client+'\')">Reset</td></tr>');
});
我试图使用ajax将值发布到我的后端服务(即python)
$("#chkbox").change(function () {
var value = $(this).val();
var res = value.split(":");
$.ajax({
type: "POST",
url: "http://localhost:8080/cache/setProcessing?site="+res[0]+"&client="+res[1],
/*data: {
chkbox: value
},*/
success: function (data, textStatus) {
alert('included for processing ');
},
error : function(xhr, textStatus, errorThrown) {
alert("Failed. Error : "
+ errorThrown);
}
});
});
但是当我检查表格中的复选框时,没有任何反应。意味着它没有调用我的javascript函数。
我做错了什么? 另外,如果我一次选择多行,这个逻辑是正确/可行吗?
编辑:
我想选择多个复选框。 所以在我的功能中我喜欢;
$(document).on('change','.chkbox',function () { var sites = []; var value = $(this).val(); var res = value.split(":"); $.each($("input[class='chkbox']:checked"), function(){ sites.push(res[0]); }); alert("sites are: " + sites.join(", "));
});
但同一网站重复多次。
我修改的html就像;
$.each(data, function(id, value) { rows.push('<tr><td><input type="checkbox" autocomplete="off" class="chkbox" name="chkbox"
值= “ '+ value.site +': '+ value.client +'” &GT;” + id +'' + value.machine +''+ value.state +'' + value.date_processed +'重置'); });
如何为我的复选框获取不同的网站?