检查是否有任何复选框在jQuery中检查?
问题描述:
我有一个form.html:检查是否有任何复选框在jQuery中检查?
<div id="tag_option">
<li><label for="id_customer_type">Customer type:</label>
<select id="id_customer_type" class="required" name="customer_type">
<option value="" selected="selected">All</option>
<option value="NGO">NGO</option>
<option value="GOV">GOV</option>
</select>
</li>
<li>
<label for="id_tag">Tag:</label> <dl>
<dt><strong>School</strong></dt>
<dd><label for="id_tag_1"><input
name="tag"
value="2"
id="id_tag_1"
type="checkbox"> Private</label></dd>
<dd><label for="id_tag_2"><input
name="tag" value="3" id="id_tag_2" type="checkbox"
> Public</label></dd>
</dl></li>
<input id="tag_checked" name="tag_checked" value="" type="hidden">
<input id="store_filter_saved" name="store_filter_saved" value="" type="hidden">
</div>
如何做到这一点?
我已经试过..
$(document).ready(function(){
function updateTagChecked() {
var list_tag_selected = [];
//$("input[name^=tag_]")
$('#tag_option :checked').each(function() {
list_tag_selected.push($(this).val());
});
$('#tag_checked').val(list_tag_selected.join("&"))
}
$(function() {
$('#tag_option input').click(updateTagChecked);
updateTagChecked();
});
我在这一点上,我只是想指定唯一的复选框的问题。
$('#tag_option :checked').each(function()
我尝试改变:
$("input[name^=tag]")
$('div#tag_option input[name="tag"]').attr('checked')
答
之间的区别:
$(“输入[名称=标签]:勾选”) 做某事的所有元素同时。它非常有用,快,如果youre做上的所有元素完全相同的操作,就像给他们所有的一类,例如
$(“#tag_option:检查”)。每个(函数() 给多一点*,因为它遍历每个元素,然后你可以给他们特定/不同的命令,一个接一个
答
如果我理解正确的,你,你想选择具有“标签”的名称选中的复选框?这将做到:
$('input[name=tag]:checked')
$("input[name^=tag]")
显然将返回所有复选框,无论他们是签还是不和$('div#tag_option input[name="tag"]').attr('checked')
返回来自名称为“名”第一输入checked
属性的值。
编辑
你能有什么区别输出和
$('#tag_option :checked')
之间$('input[name=tag]:checked')
首先获取具有“标签”作为name
属性值也检查了所有input
元素解释。 “选中”元素表示处于选中状态(即活动状态)的单选按钮或复选框。这将选择匹配这些:
<input type="checkbox" name="tag" checked="checked" />
<input type="radio" name="tag" checked="checked" />
但不任何这些:
<input type="checkbox" name="something_else" checked="checked" />
<input type="checkbox" name="tag" />
<input type="radio" name="not_tag" checked="checked" />
第二获取所有选中的元素具有的tag_option
的ID的元素中。该选择将匹配div
内的所有这些input
元素:
<div id="tag_option">
<input type="checkbox" checked="checked" name="foo" />
<input type="checkbox" checked="checked" name="bar" />
<input type="radio" checked="checked" name="zyxxy" />
</div>
你能解释$('input [name = tag]:checked')和 $('#tag_option:checked')。each(function() – kn3l 2009-12-29 10:26:37
非常感谢您的充分解释。 – kn3l 2009-12-30 02:20:49