HTML复选框处理
HTML checkbox handling
所以我有一组复选框,如下所示:
[x] No stuff
[ ] Stuff 1
[ ] Stuff 2
[ ] Stuff 3
当点击任何填充复选框时,我希望"无填充"复选框自动取消选中。此外,如果选择了"无内容",我希望所有内容都被取消选择。
有人能给我指正确的方向吗?谢谢
给stuff复选框一些类似的id,比如"chkStuff1"、"chksstuff2"、"chkStuff3"并为每个函数赋予一个onclick函数,比如onclick="StuffClicked(this);"-所有函数都一样。比方说,无填充复选框有一个id-"chkNoStuff"
然后试试这个代码-
function StuffClicked(chkBoxObj) {
var isNoStuffChecked = true;
if($('#chkBoxObj').is(':checked')) {
$('#chkNoStuff').prop('checked', false);
}
else {
$('[id^="chkStuff"]').each(function(){
if($(this).is(':checked')) {
isNoStuffChecked = false;
break;
}
});
}
$('#chkNoStuff').prop('checked', isNoStuffChecked );
}
$('#chkNoStuff').unbind('click').bind('click', function(){
$('[id^="chkStuff"]').each(function(){
$(this).prop('checked', false);
});
});
希望这能帮助
Fiddle:工作演示
<label><input type="checkbox" class="jsNoStuff" /> No Stuff</label><br />
<label><input type="checkbox" class="jsStuff" /> Stuff 1</label><br />
<label><input type="checkbox" class="jsStuff" /> Stuff 2</label><br />
<label><input type="checkbox" class="jsStuff" /> Stuff 3</label><br />
<label><input type="checkbox" class="jsStuff" /> Stuff 4</label><br />
<script type="text/javascript">
jQuery(function ($) {
var $jsNoStuff = $('.jsNoStuff');
var $jsStuff = $('.jsStuff');
var fClickStuff = function () {
$jsNoStuff.prop('checked', false);
};
var fClickNoStuff = function () {
if ($jsNoStuff.is(':checked')) {
$jsStuff.prop('checked', false);
}
};
$jsNoStuff.click(fClickNoStuff);
$jsStuff.click(fClickStuff);
});
</script>
使用此
<input type="checkbox" id="all" />
<input type="checkbox" class="a" />
<input type="checkbox" class="a" />
<input type="checkbox" class="a" />
jquery
jQuery('#all').click(function(){
var that =$(this);
jQuery('.a').each(function(v){
if (that.is(':checked')){
$(this).attr('disabled', true);
}else{
$(this).attr('disabled', false);
}
});
})
单击此处查看
这应该可以满足您的需要:
$('input[name="noStuff"]').change(function () {
if ($(this).is(":checked")) $('input[name^="stuff"]').prop('checked', false)
})
$('input[name^="stuff"]').change(function () {
$('input[name="noStuff"]').prop('checked', !$('input[name^="stuff"]:checked').length)
});
jsFiddle示例
如果您为它们提供相同的类,那么当单击其他任何类时,您可以取消选中第一个,序号为0。
您还可以通过在集合中循环并设置属性来取消选中/选中选项。这是选中或取消选中多个选项的简单方法。
如何在选中另一个复选框时取消选中一组复选框
使用javascript选中/取消选中复选框?
相关文章:
- 复选框,然后单击事件处理
- 在服务器上创建一个复选框,使用 javascript 处理函数
- Javascript,表单中任何复选框的事件处理程序
- 如何发布单选和复选框选择?表单由php和js处理
- 带有复选框的jQuery更改事件处理程序
- 类事件处理程序未检测是否选中复选框
- 隐藏Zend单选按钮和复选框标签在javascript点击处理程序中
- JavaScript 从表单元素处理复选框创建 URL
- 复选框单击事件处理程序和显示/隐藏功能
- 单击复选框时的 Jquery 事件处理
- 在打开窗口中处理复选框
- 为什么我的 React 复选框在渲染时触发更改处理程序,然后在单击该框时不触发
- 处理 MEAN 应用程序中的复选框
- 让jQuery处理复选框点击事件
- 事件处理复选框-jQuery icheck插件
- 优雅地处理复选框
- 在这种情况下如何处理复选框
- 处理复选框和文本框验证的Javascript文件
- Angularjs和ng网格:如何处理复选框
- jQuery处理复选框组