JavaScript:如何检测是否选中了HTML复选框?
我如何:JavaScript:如何检测是否选中了HTML复选框?,javascript,jquery,html,Javascript,Jquery,Html,我如何: 是否检测是否已单击/选中HTML复选框 检索已选中的复选框 示例代码: <FORM ACTION="..."> <INPUT TYPE=CHECKBOX VALUE="1">1 bedroom<BR> <INPUT TYPE=CHECKBOX VALUE="2">2 bedrooms<BR> <INPUT TYPE=CHECKBOX VALUE="3">3 bedrooms<BR> <INPUT
<FORM ACTION="...">
<INPUT TYPE=CHECKBOX VALUE="1">1 bedroom<BR>
<INPUT TYPE=CHECKBOX VALUE="2">2 bedrooms<BR>
<INPUT TYPE=CHECKBOX VALUE="3">3 bedrooms<BR>
<INPUT TYPE=CHECKBOX VALUE="4+">4+ bedrooms<P>
</FORM>
一居室
两间卧室
3间卧室
4间以上卧室
意思是
如果有帮助,我愿意使用JQuery来简化这一过程。为复选框元素指定名称和/或ID,以便在代码中区分它们。然后,如果要处理选中/取消选中状态更改,请使用jQuery添加带有
bind
的事件。为复选框元素分配名称和/或ID,以便在代码中区分它们。然后,如果要处理选中/取消选中状态更改,请使用jQuery添加带有bind
的事件。在复选框上使用ID
<FORM ACTION="...">
<INPUT TYPE=CHECKBOX id="c1" VALUE="1">1 bedroom<BR>
<INPUT TYPE=CHECKBOX id="c2" VALUE="2">2 bedrooms<BR>
<INPUT TYPE=CHECKBOX id="c3" VALUE="3">3 bedrooms<BR>
<INPUT TYPE=CHECKBOX id="c4" VALUE="4+">4+ bedrooms<P>
</FORM>
$('c1').checked // returns whether the 1 bedroom checkbox is true or false
一居室
两间卧室
3间卧室
4间以上卧室
$('c1')。选中//返回1卧室复选框是否为真
在复选框上使用ID
<FORM ACTION="...">
<INPUT TYPE=CHECKBOX id="c1" VALUE="1">1 bedroom<BR>
<INPUT TYPE=CHECKBOX id="c2" VALUE="2">2 bedrooms<BR>
<INPUT TYPE=CHECKBOX id="c3" VALUE="3">3 bedrooms<BR>
<INPUT TYPE=CHECKBOX id="c4" VALUE="4+">4+ bedrooms<P>
</FORM>
$('c1').checked // returns whether the 1 bedroom checkbox is true or false
一居室
两间卧室
3间卧室
4间以上卧室
$('c1')。选中//返回1卧室复选框是否为真
1)使用onclick属性。
2) 您可以给它们取一个相同的名字,然后使用
$('input[name=yourname]:checked')
来获取它们
[编辑]根据要求,这里有一个
$(文件).ready(初始化);
函数init(){
//将onclick功能添加到每个名为“卧室”的复选框中。
$('input[name=Beddrooms]')。单击(showCheckedValues);
}
函数showCheckedValues(){
//收集名为“卧室”的复选框的所有值。
var checked=$('input[name=beddrooms]:checked').map(function(){
返回此.value;
}).get();
警报(已选中);
}
一居室
两居室
三居室
4+间卧室
1)使用onclick属性。
2) 您可以给它们取一个相同的名字,然后使用
$('input[name=yourname]:checked')
来获取它们
[编辑]根据要求,这里有一个
$(文件).ready(初始化);
函数init(){
//将onclick功能添加到每个名为“卧室”的复选框中。
$('input[name=Beddrooms]')。单击(showCheckedValues);
}
函数showCheckedValues(){
//收集名为“卧室”的复选框的所有值。
var checked=$('input[name=beddrooms]:checked').map(function(){
返回此.value;
}).get();
警报(已选中);
}
一居室
两居室
三居室
4+间卧室
您可以使用复选框的.checked属性来检索复选框是否已选中。要在选中复选框时触发事件,可以在jquery中使用click事件。下面类似的内容可以列出页面上所有已选中的复选框
$("input[type='checkbox']").click(function() {
// if you want information about the specific checkbox that was clicked
alert("checkbox name : " + $(this).name + " | checked : " + $(this).checked);
// if you want to do something with ALL the checkboxes on click.
$.each($["input[type='checkbox']", function(i, checkEl) {
// put any of your code to do something with the checkboxes here.
alert("checkbox name : " + checkEl.name + " | checked : " + checkEl.checked);
});
});
您可以对复选框使用.checked属性来检索复选框是否已选中。要在选中复选框时触发事件,可以在jquery中使用click事件。下面类似的内容可以列出页面上所有已选中的复选框
$("input[type='checkbox']").click(function() {
// if you want information about the specific checkbox that was clicked
alert("checkbox name : " + $(this).name + " | checked : " + $(this).checked);
// if you want to do something with ALL the checkboxes on click.
$.each($["input[type='checkbox']", function(i, checkEl) {
// put any of your code to do something with the checkboxes here.
alert("checkbox name : " + checkEl.name + " | checked : " + checkEl.checked);
});
});
您可以使用事件查看是否选中了复选框(onChange)。您可以在教程中阅读更多关于它的内容(请参阅标题为:Javascript是一种事件驱动语言的部分)您可以使用事件查看是否选中了复选框(onChange)。您可以在教程中阅读更多关于它的内容(请参阅标题为:Javascript是一种事件驱动语言的部分)jquerytotherescue!(因为您已将其标记为这样): (确保在html中为复选框添加一个
name=“beddrooms”
属性;提交表单时仍需要这些属性,以便在服务器上检索它们)
我使用了一些伪选择器:
- 查找页面上的所有输入复选框
- 查找具有属性
name=“beddrooms”
- 查找属性
checked=true的所有元素
“输入:复选框[名称=卧室]:选中”
,jQuery将为您提供所有选中的复选框
对于数组中的每一个元素,您可以简单地迭代并执行您想要的操作
编辑
您可以优化此代码以保存对复选框的引用,而不是每次单击时都让jQuery去获取所有复选框:
var $checkboxes = $('input:checkbox[name=bedrooms]');
$checkboxes.click(function() {
var values = $checkboxes
.filter(function() { return this.checked })
.map(function() { return this.value })
.get();
// do something with values array
})
在此示例中,我已将复选框保存到var$checkboxes
中。单击任何复选框,而不是返回DOM获取选中的复选框,我们只需$checkboxes
向下搜索到选中的复选框,并将每个复选框放入一个数组中。get()
只是一个模糊的要求,需要将“jQueryized”数组转换为常规JavaScript数组。jQuery来拯救!(因为您已将其标记为这样):
(确保在html中为复选框添加一个name=“beddrooms”
属性;提交表单时仍需要这些属性,以便在服务器上检索它们)
我使用了一些伪选择器:
- 查找页面上的所有输入复选框
document.GetElementById("cbxCheckbox1");
...<input type="checkbox">...
$(function(){ $("input").click(function () { console.log($(this)[0].checked); }); });
console.log($('input:checked'));
<form name="myForm"> <input type="checkbox" name="myCheck" value="My Check Box"> Check Me </form> <a href="#" onClick="window.alert(document.myForm.myCheck.checked ? 'Yes' : 'No');">Am I Checked?</a>