2016-11-07 78 views
0

我已經創建了三個複選框如下:複選框就像單選按鈕|一樣使用icheck.js

<input type="checkbox" name="upgrade"> 
<input type="checkbox" name="upgrade"> 
<input type="checkbox" name="upgrade"> 

我想這些複選框像單選按鈕,並使用以下jQuery的,我幾乎實現這一目標。我還使用了icheck.js庫,所以我做了jQuery代碼:儘快

$('input[type="checkbox"]').on('ifChanged', function() { 
     $('input[name="' + this.name + '"]').not(this).iCheck('uncheck'); 
}); 

然而,這僅與第一個變化的工作,因爲我點擊了第三次它不工作不再。誰能告訴我我做錯了什麼?

+0

爲什麼不只是風格的單選按鈕爲複選框? –

+0

@AdamAzad原因我想讓用戶能夠取消選擇所有內容,並且我無法取消單選按鈕 –

+0

您可以與jsfiddle分享您的代碼嗎? – oguzhancerit

回答

0

我不能使用Icheck插件,但是我使用了standart複選框。

$('input[type="checkbox"]').click(function(){ 
 
    if($(this).is(':checked')){ 
 
    $('input[type="checkbox"]').prop('checked',false); 
 
    $(this).prop('checked',true); 
 
    } 
 
    else { 
 
    $(this).prop('checked',true); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="checkbox" name="upgrade" checked> 
 
<input type="checkbox" name="upgrade"> 
 
<input type="checkbox" name="upgrade">

+0

問題是,當使用icheck時,道具不起作用,因爲複選框的工作方式完全不同。有沒有可能你用icheck試試它? –

+0

@MarjinooBajello我現在正在嘗試,請稍等。 – oguzhancerit

+0

@MarjinooBajello對不起兄弟,我不能使用這個插件。我從github下載,加載所有腳本,但它不工作:)。我建議你用新的複選框插件進行更改。 – oguzhancerit

0

基礎上以前的答案,沒有理由裏面..該解決方案將刪除所有檢查,然後之後檢查適當的選擇if語句。

HTML:

<input type="checkbox" name="upgrade"> 
<input type="checkbox" name="upgrade"> 
<input type="checkbox" name="upgrade"> 

JS:

$('input[type="checkbox"]').click(function(){ 
    $('input[type="checkbox"]').prop('checked',false); 
    $(this).prop('checked',true); 
}); 

https://jsbin.com/qeqemuqaci/edit?html,js,output