我有多个记录的HTML表格,我使用了分页概念。每个td
的第一个tr
是带有唯一ID 的复选框。当我点击按钮时,我需要获取所有已选中的复选框ID 。
以下是我正在使用的代码。我收到的是第一页的复选框ID,但是在剩余页面复选框中,已检查的ID不会出现。
$.each($("input[name='case[]']:checked").closest("td"), function (index, item) {
var $row = $(this).parents('tr');
var $rowid = $row.attr('id');
//var usedvalue = $row.find('td:eq(12) input').val(); // position of textbox for used is 12
var combo = $rowid;
selectedDetails.push(combo);
}).toArray();
selectedIdsStr = selectedDetails.join();
我表中的Td元素
<td style="width:3px;"><input type="checkbox" name="case[]" id="@item.ContainerID"></td>
我尝试了多种方法,即循环tbody而不是td类。但我找不到任何解决方案。
有人可以帮我吗?
答案 0 :(得分:0)
尝试找到所有复选框的td。然后过滤那些复选框。
$.each($("td input:checkbox"), function(index, item){
if($(this).is(":checked")){
selectedDetails.push($(this).attr("id"));
}
}).toArray();
selectedIdsStr = selectedDetails.join();
我相信这会解决问题
答案 1 :(得分:0)
您可以使用input:checked jquery selector来获取复选框的数组,然后循环显示那些复选框。
$(document).ready(function () {
$("#getButton").on("click", function() {
displayCheckedIds();
});
});
function displayCheckedIds() {
var checkedBoxes = $("input:checked"); // Gets an array of checked boxes
$("#displayIds").html(""); //clear out existing
$.each(checkedBoxes, function(){
$("#displayIds").append($(this).attr("id") + "<br>");
});
}