我正在迭代一个动态创建的表,表中的行包含纯文本、复选框和选择下拉框。在遍历表格时使用
$('#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“。所以我的问题是,解决这个问题的最佳方法是什么?
发布于 2016-04-28 09:54:32
只需将: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>
https://stackoverflow.com/questions/36903858
复制相似问题