获取没有Id JQuery

时间:2016-04-28 01:48:21

标签: javascript jquery checkbox

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

迭代表格时
$('#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”,无论它是否被选中。所以我的问题是这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

只需将: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>