【发布时间】:2015-12-17 10:49:03
【问题描述】:
我从this stack question关注了这个jsfddle
这是我的 HTML 代码:
<div id="paramStart">
<div id="gameType">
<div id="UserVsComputer" class="checkbox" style="margin-left: 8px;">
<label><input type="checkbox" value="">User vs Computer</label>
</div>
<br>
<br>
<div id="User1VsUser2" class="checkbox" style="margin-left: 8px;">
<label><input type="checkbox" value="">User1 vs User2</label>
</div>
</div>
我是用 Javascript 做的:
var gameType = document.getElementById('gameType');
gameType.addEventListener('click', setGameType, false);
function setGameType() {
var checkInput = $('#gameType .checkbox > label > input');
console.log(checkInput);
checkedState = checkInput.attr('checked');
checkInput.attr('checked').each(function () {
$(this).attr('checked', false);
});
checkInput.attr('checked', checkedState);
}
但我收到以下错误:
TypeError: checkInput.attr(...) is undefined
我尝试访问<input> tag 以将点击的<input> 设置为true
我没有看到我的错误在哪里,欢迎任何帮助。
谢谢
更新
@Mohamed-优素福
好的,为了得到检查输入的数组,我做了:
var checkInput = $('#gameType > div > input[type="checkbox"]');
console.log(checkInput.attr());
我明白了:
TypeError: a is undefined jquery-latest.min.js:4:9978
对不起,我没有经常练习 Jquery。
【问题讨论】:
-
所以 erm 互斥复选框有一个你知道的名字。单选按钮。比如
<input type="radio">。 -
@NielsKeurentjes 这就是我在上一条评论中所要求的
-
请注意,引用的小提琴可能使用:
$('div').on('click', '.checkbox', function() { $(this).siblings('input[type="checkbox"]').prop('checked', false); });
标签: javascript jquery html