检查复选框是否被选中(js/jquery)
Check if a check box is checked or not (js/jquery)
我想检查是否使用 JavaScript/jQuery 选中了某个复选框。
这是我尝试过的代码:
var a;
if ($("#add_desc").checked == 1){
a = "true";
}else{
a= "false";
}
我也尝试过:
var a;
if ($("#add_desc").checked){
a= "true";
}else{
a= "false";
}
一旦我提醒变量a
,它总是返回 false。
知道为什么它对我不起作用吗?我做错了吗?
谢谢!
若要在复选框输入上获取 checked
属性的值,请使用 .prop()
方法,或直接从 DOM 元素获取值。 [0]
返回第一个选定的 DOM 元素。
var a;
if ($("#add_desc")[0].checked){
a= "true";
}else{
a= "false";
}
或
var a;
if ($("#add_desc").prop("checked")){
a= "true";
}else{
a= "false";
}
编辑
对于低于 1.6 的 jQuery 版本,.prop
不存在,请使用 .attr
作为直接替换。
简单,
var a = $('#element:checkbox').is(':checked');
"jQuery 方式"是使用 .is(":checked")
:
var a;
if ($("#add_desc").is(":checked")){ // box is checked
a = "true";
} else{ // box is not checked
a= "false";
}
我在我的网络应用程序中经常使用它,它运行良好。
从 jQuery .is
文档页面:
与其他过滤方法不同,.is() 不会创建新的 jQuery 对象。相反,它允许您测试jQuery对象的内容。 无需修改。这在回调中通常很有用,例如 事件处理程序。
javascript 中的三元运算符与 jQuery .is() 相结合是最短的解决方案。
var a = ($("#add_desc").is(":checked")) ? "true" : "false";
尝试:
if ($('#add_desc').is(':checked')) {
a = "true";
} else {
b = "false";
}
您也可能不想使用字符串,即使用 true
和 false
而不是 "true"
和 "false"
尝试
$get("#add_desc").checked == true
也
$("#add_desc").prop("checked", true);
$("#add_desc").prop("checked", false);
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 点击facebook像素跟踪注册(JS/JQUERY代码)
- 用于发现哪个JS/jQuery脚本正在冻结页面的工具或技术
- 使用js/jQuery检查对象(而不是元素)是否真的存在
- 如何使用JS/jQuery在另一个网站上显示iframe中的特定内容
- 在坐标上模拟点击坐标js/jQuery
- 如何插入js/jquery变量isideHTML标记
- 我需要JS/jQuery中的倒计时计时器
- 当我使用JS/jQuery/any插件点击图像时,我如何使背景变暗+不可点击,并放大和居中我的图像
- JS/jquery:我将如何遍历HTML中的每个图像
- 非常奇怪的JS/jQuery行为-alert()包含/排除
- JS/Jquery - 如果输入具有数组的任何名称,则返回关联的值
- 使用 js/jQuery/css 在重力形式中覆盖 !important
- 如何在 js / jquery 中绑定“数据追加”事件
- 解析 RSS 命名空间媒体:缩略图 (js/jQuery)
- AJAX/page refresh kills JS/jQuery
- 带有post值的JS jQuery重定向,不带<表单>
- 改变与“"至“-"(JS/Jquery)
- 我正在尝试使用JS/JQuery自动对网站中的文本执行多个查找和替换操作
- 是否覆盖网站上文本输入区域的默认移动设备键盘?(HTML/JS/jQuery)