2017-02-02 97 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然後你想要的功能是什麼? –

相關問題