2016-11-07 3 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, но я сделал это с стандартным флажком.

$('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

Base на предыдущем ответе, нет никаких оснований для заявления, если внутри .. это решение будет удалить все проверил, а затем проверить соответствующий выбор сразу после.

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