2016-11-07 108 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