我有这个结构:
<div id="fields" class="grid">
<div>...<div>
<div id="some_id_1" class="itemSortable">
<input ...>
<input ...>
<div>
<input id="selected" name="selected" type="checkbox" value="true">
<input name="selected" type="hidden" value="false">
...
</div>
<div id="some_id_2" class="itemSortable">
<input ...>
<input ...>
<div>
<input id="selected" name="selected" type="checkbox" value="true">
<input name="selected" type="hidden" value="false">
...
</div>
...
<div id="some_id_n" class="itemSortable">
<input ...>
<input ...>
<div>
<input id="selected" name="selected" type="checkbox" value="true">
<input name="selected" type="hidden" value="false">
...
</div>
</div>
我没有使用jQuery的经验,所以我被卡住了。有人可以帮助jQuery脚本获取所选复选框的所有ID数组(例如some_id_x
)吗?
答案 0 :(得分:2)
要获取所选复选框中最近的父id
的{{1}}数组,请尝试以下操作:
.itemSortable
您似乎有很多重复的var idArray = $('#fields').find(':checked').map(function() {
return $(this).closest('.itemSortable').prop('id');
}).get();
属性,但这意味着您的HTML无效并会导致代码出现问题。
答案 1 :(得分:1)
首先,您自己获得复选框:
$(':input:checked');
然后你找到他们各自的父母:
$(':input:checked').parents('.itemSortable');
要获取每个ID,请使用.each()
迭代结果列表:
var ids = [];
$(':input:checked').parents('.itemSortable').each(function() {
ids.push(this.id);
});
答案 2 :(得分:0)
css id仅适用于页面上的1个元素,使用类。
$('.someClass:checked').serialize()
答案 3 :(得分:0)
使用:选中选择器
有关http://api.jquery.com/selected-selector/
的详情示例:
$(function()
{
var idArray = new Array(); $('#fields').find(':checked').each(function()
{
idArray.push(this.id);
});
console.log(idArray);
});
答案 4 :(得分:0)
要检索类型为check(复选框)的已检查输入,请使用":checked"
选择器。
这个例子可以解释我的观点:
HTML:
<div id="fields" class="grid">
<div id="some_id_1" class="itemSortable">
<div>
<input id="selected" name="selected" type="checkbox" value="true" checked="checked"/>
</div>
</div>
<div id="some_id_2" class="itemSortable">
<div>
<input id="selected" name="selected" type="checkbox" value="true" checked="checked"/>
</div>
</div>
<div id="some_id_n" class="itemSortable">
<div>
<input id="selected" name="selected" type="checkbox" value="true"/>
</div>
</div>
</div>
的JavaScript / JQuery的:
$(document).ready(function () {
alert($("#fields :checked").length);
});
这个例子将警告第二;已在ID为"fields"
的元素中选中已选中复选框的计数。
PS:
checked="checked"
选中