我有一个动态创建的html表。我为每行添加复选框。如何一次选择多个复选框?
$.each(data, function(id, value) {
rows.push('<tr><td><input type="checkbox" autocomplete="off" class="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>');
});
我想一次选择多行,并需要将这些值发布到我的后端服务。 目前我的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(", "));
$.ajax({
type: "POST",
url: "http://localhost:8080/cache/setProcessing?site="+res[0]+"&client="+res[1],
/*data: {
chkbox: value
},*/
error : function(xhr, textStatus, errorThrown) {
alert("Failed. Error : " + errorThrown);
}
});
});
在上面的功能我警告框显示同一部位多次,如果我selecet不止一行。 我该如何克服这个问题?
我认为这个问题是这样的'sites.push(RES [0]); '所以它只是一直推'res [0]'的值.. –
这是res [0]是什么?所以你总是一直推相同的值 – Se0ng11
@ShadowFiend不,res包含“+ value.site +':'+ value.client'的加入值。所以我分裂并得到第一个数组[0]的值 – Ratha