如何在jQuery中获得复选框的值?
当前回答
尽管这个问题需要jQuery解决方案,但这里有一个纯JavaScript的答案,因为没有人提到过它。
没有jQuery:
只需选择元素并访问选中的属性(返回布尔值)。
var checkbox = document.querySelector('input[type=“checkbox”]'); 警报(复选框.选中); <输入类型=“复选框”/>
下面是一个快速监听change事件的例子:
var checkbox = document.querySelector('input[type="checkbox"]'); 复选框。addEventListener('change',函数(e) { 警报(this.checked); }); < input type = "复选框" / >
要选择选中的元素,使用:checked伪类(input[type="checkbox"]:checked)。
下面是一个迭代检查的输入元素并返回已检查元素名称的映射数组的示例。
例子
var elements = document.querySelectorAll('input[type="checkbox"]:checked');
var checkedElements = Array.prototype.map.call(elements, function (el, i) {
return el.name;
});
console.log(checkedElements);
var elements = document.querySelectorAll('input[type="checkbox"]:checked'); var checkedElements = Array.prototype.map.call(elements, function (el, i) { return el.name; }); console.log(checkedElements); <div class="parent"> <input type="checkbox" name="name1" /> <input type="checkbox" name="name2" /> <input type="checkbox" name="name3" checked="checked" /> <input type="checkbox" name="name4" checked="checked" /> <input type="checkbox" name="name5" /> </div>
其他回答
请注意,截至今天,2018年,由于api多年来不断变化。 removeAttr已被撤销,不再工作!
Jquery选中或取消选中复选框:
糟糕,再也不能工作了。
$('#add_user_certificate_checkbox').removeAttr("checked");
$('#add_user_certificate_checkbox').attr("checked","checked");
相反,你应该这样做:
$('#add_user_certificate_checkbox').prop('checked', true);
$('#add_user_certificate_checkbox').prop('checked', false);
尽管这个问题需要jQuery解决方案,但这里有一个纯JavaScript的答案,因为没有人提到过它。
没有jQuery:
只需选择元素并访问选中的属性(返回布尔值)。
var checkbox = document.querySelector('input[type=“checkbox”]'); 警报(复选框.选中); <输入类型=“复选框”/>
下面是一个快速监听change事件的例子:
var checkbox = document.querySelector('input[type="checkbox"]'); 复选框。addEventListener('change',函数(e) { 警报(this.checked); }); < input type = "复选框" / >
要选择选中的元素,使用:checked伪类(input[type="checkbox"]:checked)。
下面是一个迭代检查的输入元素并返回已检查元素名称的映射数组的示例。
例子
var elements = document.querySelectorAll('input[type="checkbox"]:checked');
var checkedElements = Array.prototype.map.call(elements, function (el, i) {
return el.name;
});
console.log(checkedElements);
var elements = document.querySelectorAll('input[type="checkbox"]:checked'); var checkedElements = Array.prototype.map.call(elements, function (el, i) { return el.name; }); console.log(checkedElements); <div class="parent"> <input type="checkbox" name="name1" /> <input type="checkbox" name="name2" /> <input type="checkbox" name="name3" checked="checked" /> <input type="checkbox" name="name4" checked="checked" /> <input type="checkbox" name="name5" /> </div>
使用以下代码:
$('input[name^=CheckBoxInput]').val();
要获取value属性的值,你可以这样做:
$("input[type='checkbox']").val();
或者如果你已经为它设置了一个类或id,你可以:
$('#check_id').val();
$('.check_class').val();
然而,无论是否检查,都会返回相同的值,这可能会令人困惑,因为它与提交的表单行为不同。
要检查是否已检查,请执行以下操作:
if ($('#check_id').is(":checked"))
{
// it is checked
}
jQuery(".checkboxClass").click(function(){
var selectedCountry = new Array();
var n = jQuery(".checkboxClass:checked").length;
if (n > 0){
jQuery(".checkboxClass:checked").each(function(){
selectedCountry.push($(this).val());
});
}
alert(selectedCountry);
});
推荐文章
- jQuery的“输入”事件
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- 给一个数字加上st, nd, rd和th(序数)后缀
- 为什么我的CSS3媒体查询不能在移动设备上工作?
- 下一个元素的CSS选择器语法是什么?
- 在jQuery中的CSS类更改上触发事件
- jQuery日期/时间选择器
- 我如何用CSS跨浏览器绘制垂直文本?
- 我如何预填充一个jQuery Datepicker文本框与今天的日期?
- jQuery添加必要的输入字段
- 如何获得box-shadow在左侧和右侧
- 相对定位一个元素,而不占用文档流中的空间
- JavaScript错误(Uncaught SyntaxError:意外的输入结束)
- navigator。gelocation。getcurrentposition有时有效有时无效
- 我如何使用jQuery按字母顺序排序一个列表?