$("#choice").bind("change",function(){ $("input[type='checkbox']").attr("checked", $("#choice").attr("checked")); });
使用上述代码最全选/取消全选时发现,$("#choice").attr("checked")报告undefined,于是将控制元素设置上属性checked,这是发现无论如何,$("#choice").attr("checked")的值都为true。于是查阅http://api.jquery.com/attr/发现其中有如下描述:
As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set. To retrieve and change DOM properties such as the checked, selected, or disabled state of form elements, use the .prop() method.
于是调整代码如下:
$("#choice").bind("change",function(){ $("input[type='checkbox']").prop("checked", $("#choice").prop("checked")); });
在firefox、opera、safari、chrome、IE7-9中测试通过。
相关推荐
在jQuery中,`attr`和`prop`方法都是用来...而`attr`方法更适合处理那些不直接与元素状态相关的特性,如`title`、`href`等。在编写jQuery插件或进行DOM操作时,理解这两个方法的区别对于写出高效且可靠的代码至关重要。
假设我们现在需要这样的场景:页面上有一个checkbox,我们期望通过Jquery来获得它是否选中,或者通过Jquery来让它被选中。 在JQ1.6之前的版本,我们会这样写我们的代码: 代码如下: <input type=’checkbox’ id=...
与`.attr()`方法不同,`.attr()`主要用于处理元素的特性(attributes),而`.prop()`更侧重于元素的状态或行为。例如,当用户勾选一个复选框时,`<input type="checkbox">`的`checked`属性就会被设置为`true`。 在...
- `$.attr(name,val)`、`.attr(map)`、`.attr(name,fn(index,attr))`:获取或设置元素的属性。 - `$.removeAttr(name)`:移除元素的某个属性。 - `$.addClass(class)`、`.removeClass(class)`、`.toggleClass(class)...
$(#tb).find(input[type='checkbox']).attr(checked,checked); but!第一次点击全选按钮input显示对勾,第二次就不行了,查了下有建议用prop的,亲测有效。那两者有啥区别呢? jQuery函数attr()和prop()的区别: 1、...
例如,考虑一个DOM元素的HTML标记中定义的<input type="checkbox" checked="checked" /> ,并假设它是一个JavaScript变量命名的elem : elem.checked true (Boolean) $(elem).prop("checked") true (Boolean) ...
本文将深入探讨如何在jQuery环境下实现输入框(input)复选框(checkbox)的联动效果,即当某个复选框被选中时,能够自动触发关联的上级或下级复选框的状态改变。 ### 1. jQuery 基础 首先,确保你的项目已经引入...
- 设置radio选中项,可以这样操作:假设要让name为`items`的组中,value为`2`的radio被选中,代码为:`$("input[@type=radio][@name=items][@value=2]").attr("checked", true)`。 4. **获取和设置checkbox值**: ...
比如对于复选框的checked属性,使用.attr()方法可能会在DOM中设置checked="true"字符串,但这个字符串并不会改变元素的选中状态,而.prop()方法则会改变这个状态: ```javascript // 使用.attr()方法可能不会改变复...
var valradio = $("input[@type=radio][@checked]").val(); ``` 对于一组同名的单选按钮(如items): ```javascript // 获取选中项的值 var item = $('input[@name=items][@checked]').val(); ``` 对于复选框...
获取选中select : ...$("input[name=sex][value="+data.sex+"]").attr("checked",true); 获取radio: $("input[name='sex']:checked").val() 设置input不能编辑: $("#cashNum").attr("disabled","disabled");
$field.attr("checked", "checked"); } } else { $field.attr("value", $field.val()); } }); copy.find("select").each(function () { var $field = $(this); $field.find(":selected").attr("selected", ...
在探讨如何使用jQuery判断复选框(checkbox)是否被选中的过程中,我们首先需要理解复选框的基本属性以及jQuery操作DOM元素的方式。复选框在HTML中被定义为`<input type="checkbox">`,当它被选中时,其`checked`属性...
例如,要选中父窗口的所有单选按钮,可以使用`$(window.parent.document).find("input[type='radio']").attr("checked", "true")`。 6. **AJAX加载XML的解析与乱码问题** - **Content-Type**:确保服务器返回的XML...
需要注意的是,在JQuery中,`attr("checked", 'checked') = attr("checked", 'true') = attr("checked", true)`,这三种写法效果相同。 **2.1.3 设置最后一个Radio为选中状态** 设置最后一个`Radio`为选中状态: - ...
除了禁用表单元素,`attr`方法还可以用于其他场景,比如改变元素的`href`属性、设置或读取`class`属性以实现动态样式切换、控制`checked`属性以实现复选框或单选按钮的状态切换等。 总之,jQuery的`attr`方法是...
- `$("input[@type=radio]").attr("checked", '2')` 设置指定value的单选按钮为选中状态。 - `$("#select_id").attr("value", 'test')` 设置下拉框的选中值。 - `$("#select_id").empty()` 清空下拉框选项。 - ...
3. 对于checkbox,`$("#chk1").attr("checked", '')`取消选中,`$("#chk2").attr("checked", true)`则设为选中状态。 4. 使用`.attr("checked")`检查元素是否被选中。 以上内容涵盖了jQuery在处理Select和表单元素...
如果需要设置选中某个值的单选按钮,可以使用`$("input[@type=radio]").attr("checked", '2')`。 3. **多选按钮(Checkbox)**: 获取单个复选框的值,用`$("#checkbox_id").attr("value")`。若要检查复选框是否被...