如何修复不使用较新jquery库而使用较旧版本jquery库的javascript?
我有一个javascript代码,它使checkbox作为收音机工作 JAVASCRIPT如何修复不使用较新jquery库而使用较旧版本jquery库的javascript?,javascript,jquery,html,Javascript,Jquery,Html,我有一个javascript代码,它使checkbox作为收音机工作 JAVASCRIPT $(function() {$('input[type=checkbox]').click(function() { $('input[type=checkbox]').attr('checked', false); $(this).attr('checked', true); }); }); HTML cat 狗 狮子 鱼 乌龟 当我使用版本1.8.3的较旧j
$(function() {$('input[type=checkbox]').click(function() {
$('input[type=checkbox]').attr('checked', false);
$(this).attr('checked', true);
});
});
HTML
cat
狗
狮子
鱼
乌龟
当我使用版本1.8.3的较旧jquery库时,它正在工作
但是,当我试图包含版本1.11.0的较新jquery库时,它不起作用
我怎样才能修好它
这是
如果将左上角的jquery版本更改为1.8.3或更低版本,则该版本可以工作,但高于1.8.3版本则无法工作。检索和更新复选框选中状态的正确方法是。简单地检索或更新属性值它不一定更新输入的基本状态
提到行为已更改,这解释了为什么代码在jQuery
提到行为已更改,这解释了为什么您的代码在jQuery
not()
而不是将复选框切换两次。如果首先排除选中的复选框,然后取消选中其他复选框,效果会更好
$('input[type=checkbox]').not($(this)).prop('checked', false);
小提琴:
编辑,添加了Salman A的建议,使用prop()
而不是attr()
使用not()
而不是切换复选框两次。如果首先排除选中的复选框,然后取消选中其他复选框,效果会更好
$('input[type=checkbox]').not($(this)).prop('checked', false);
小提琴:
编辑,添加了Salman A的建议,使用
prop()
代替attr()
使用“prop”代替“attr”
替换代码
$(function() {$('input[type=checkbox]').click(function() {
$('input[type=checkbox]').prop('checked', false);
$(this).prop('checked', true);
});
});
使用“prop”而不是“attr”作为 替换代码
$(function() {$('input[type=checkbox]').click(function() {
$('input[type=checkbox]').prop('checked', false);
$(this).prop('checked', true);
});
});
将
not()
选择器与prop()
一起使用甚至是一个更好的解决方案,因为您一开始不必两次切换复选框。如我在答复中所述。将您的建议添加到我的回答中使用带有prop()
的not()
选择器甚至是更好的解决方案,因为您一开始不会两次切换复选框。如我在答复中所述。在我的回答中添加了您的建议在此示例中,用户可以通过双击取消选中该项目,因此它与单选按钮不同。感谢现在使用道具。在此示例中,用户可以通过双击取消选中该项目,因此它与单选按钮不同。感谢现在使用道具。