2017-02-02 71 views
3

我有自定义复选框:如何防止使用jquery取消选中所有复选框?

<p> 
    <input class="preventUncheck" id="toggle-on1" type="checkbox"> 
    <label for="toggle-on1">Selling</label> 
</p> 
<p> 
    <input class="preventUncheck" id="toggle-on2" type="checkbox">   
    <label for="toggle-on2">Rent</label> 
</p> 
$(function() { 
    //prevent to uncheck all checkboxes 
    $('.preventUncheck').on('change', function() { 
     $('.preventUncheck').length == 0 
     && !this.checked 
     && $(this).prop('checked', true); 
    }); 
}); 

我想阻止取消选中所有复选框,这意味着送花儿给人一个复选框应进行检查,如果用户尝试取消选中它,JavaScript的防止做到这一点。

我该怎么做这项工作?

+0

你的代码是在默认情况下都被检查,如果你取消它,它应该再或者不检查? – rahulsm

+0

总之,你想要更精确 – rahulsm

回答

3

您应该检查选中的复选框的长度是否等于0,然后防止取消选中它。

$('.preventUncheck').on('change', function(e) { 
 
    if ($('.preventUncheck:checked').length == 0 && !this.checked) 
 
    \t this.checked = true; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p> 
 
    <input type="checkbox" class="preventUncheck" id="toggle-on1"> 
 
    <label for="toggle-on1">Selling</label> 
 
</p> 
 
<p> 
 
    <input type="checkbox" class="preventUncheck" id="toggle-on2"> 
 
    <label for="toggle-on2">Rent</label> 
 
</p>

+0

是啊..有点它:) TNX – uzhas

0

将attr“禁用”添加到复选框?

+0

我会得到什么?它将禁用取消选中并检查! – uzhas

+0

@uzhas然后你想要的功能是什么? –

相关问题