我有一个复选框和两个单选按钮。 关于收音机其中一个改变事件,我正在复选框的选中属性为真。 它只能使用一次。单选按钮更改事件后未复选复选框
步骤复制它, 1,点击难看(复选框被选中) 2.取消选中的复选框 3.toggel顺便说一句难看和良好(无效果:(
用完的一很多时间在这一点,但无法弄清楚是怎么回事
我有一个复选框和两个单选按钮。 关于收音机其中一个改变事件,我正在复选框的选中属性为真。 它只能使用一次。单选按钮更改事件后未复选复选框
步骤复制它, 1,点击难看(复选框被选中) 2.取消选中的复选框 3.toggel顺便说一句难看和良好(无效果:(
用完的一很多时间在这一点,但无法弄清楚是怎么回事
更新您的代码如下:
// or select based on the name attribute
// `$('input[type=radio][name="gender"]')`
$('input[type=radio]').on('change', function() {
$('.xyz').prop('checked', this.value == 'bad');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="vehicle" value="Car" class="xyz"> I have a car<br>
<input type="radio" name="gender" value="good"> Good Oned<br>
<input type="radio" name="gender" value="bad"> Ugly<br>
试试这个,如果条件.clicked单选按钮值是坏的点击真正被别的false
出现在检查ATTR。你应该使用prop()
方法,而不是attr
更新
为什么不工作?
你选择错了。你有$('input[type=radio][value = "bad"]')
。其选择唯一的价值差的无线电 按钮不是两个。所以只有当你点击其他单选按钮,复选框 没有选中
$(document).ready(function() {
$('input[type=radio]').on('change', function() {
$('.xyz').prop('checked', $(this).val().trim() == 'bad');
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script data-require="jquery" data-semver="3.1.1" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<input type="checkbox" name="vehicle" value="Car" class="xyz"> I have a car<br>
<input type="radio" name="gender" value="good"> Good Oned<br>
<input type="radio" name="gender" value="bad"> Ugly<br><br>
谢谢@prasad,它工作,但为什么我们必须为每个单选按钮绑定事件,这不是浏览器的额外工作? (也只是为了安心:))为什么我的代码不起作用我的意思是说,当用户选择“坏”时,我们是真的吗? – 92sharmasaurabh
是不是一个额外的工作.Beacuse没有绑定事件。你不能够找到值是坏的或其他什么 – prasanth
*为什么我的代码不工作*因为你的选择器是错误的。你有'$('input [type = radio] [value =“bad”]')'.its只选择坏的单选按钮值不是为了这两个。所以只有当你点击其他单选按钮时复选框没有被选中 – prasanth
感谢@pranav,它工作,但为什么我们必须绑定每个单选按钮的事件,这不是浏览器的额外工作? (也只是为了安心:))为什么我的代码不起作用我的意思是说,当用户选择“坏”时,我们是真的吗? – 92sharmasaurabh
@ 92sharmasaurabh:你没有取消选中你的代码中的复选框,......并使其工作,你需要使用'prop()'或'.attr('checked','checked')' –