获取不带Id JQuery的复选框值

Get checkbox values without Id JQuery

本文关键字:复选框 JQuery Id 获取      更新时间:2023-09-26

我正在遍历一个动态创建的表,该表的行包含纯文本、复选框和选择下拉框。在使用迭代表格时

$('#myTableId td').each ->
  thisSelect = $(this).find("option:selected").text()
  if thisSelectBox != ""
    allSelectValues.splice selectCounter,0, thisSelectBox
    selectCounter++

因此,这段代码可以获得我的选择值,我对文本框使用了类似的方法。不过,我的问题是获取复选框值。由于表是动态创建的,我无法通过id获取复选框值,因为表是动态生成的,当我尝试使用以下代码时:

$('#tableId td').each ->
   thisCheckbox = $(this).find("input.classNameOfCheckbox:checkbox").val()

在包含复选框的td上迭代时,无论是否选中,它都会返回"on"。所以我的问题是,解决这个问题的最佳方法是什么?

只需在选择器的末尾添加:checked,它将只选择那些已检查/已选择的元素

$(this).find("input.classNameOfCheckbox:checkbox:checked").val()

如果未选中,则会得到undefined

如果在td中选中了多个复选框,则val()将只返回第一个复选框的值。您需要使用.each或类似的循环方法来获得每个值

演示

jQuery(document.body).append(      
  "Checked: "+jQuery("div").find("input:checkbox:checked").val() 
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <input type="checkbox" value="first" />
  <input type="checkbox" value="second" checked />
  <input type="checkbox" value="third" />
</div>