2016-02-02 2 views
0

Я пытаюсь проверить и снять флажок bootstrap. Я использую тест var. какое значение я получаю от БД. Если значение равно нулю (0), я хочу снять флажок, и если значение равно одному (1), я хочу установить флажок. это выглядит довольно просто.Как снять флажок Bootstrap

Jquery

if (test == 0) { 
    $('#myCheck').prop('checked', false); 
    alert("I am false"); 
} else { 
    $('#myCheck').prop('checked', true); 
    alert("I am True"); 
} 

HTML

<div class="row"> 
    <div class="col-sm-2"> 
    <label class="control-label" for="pwd">My checkbox:</label> 
    </div> 
    <div class="col-sm-1"> 
    <span class="button-checkbox"> 
     <input type="checkbox" class="hidden" checked id="myCheck" /> 
     <button type="button" class="btn-chk" data-color="success" ></button> 
    </span> 
    </div> 
</div> 

Когда test равен нулю (0), он приходит в if block и я получаю предупредительное сообщение I am false и когда это правда, я приходите в else block Получаю сообщение I am true, но флажок всегда проверяется. Где я ошибаюсь? Буду признателен за любую помощь.

Update 1:

Беллоу код, что я использую для настройки кнопки флажок

$(function() { 
 
    $('.button-checkbox').each(function() { 
 

 
     // Settings 
 
     var $widget = $(this), 
 
      $button = $widget.find('button'), 
 
      $checkbox = $widget.find('input:checkbox'), 
 
      color = $button.data('color'), 
 
      settings = { 
 
       on: { 
 
        icon: 'glyphicon glyphicon-check' 
 
       }, 
 
       off: { 
 
        icon: 'glyphicon glyphicon-unchecked' 
 
       } 
 
      }; 
 

 
     // Event Handlers 
 
     $button.on('click', function() { 
 
      $checkbox.prop('checked', !$checkbox.is(':checked')); 
 
      $checkbox.triggerHandler('change'); 
 
      updateDisplay(); 
 
     }); 
 
     $checkbox.on('change', function() { 
 
      updateDisplay(); 
 
     }); 
 

 
     // Actions 
 
     function updateDisplay() { 
 
      var isChecked = $checkbox.is(':checked'); 
 

 
      // Set the button's state 
 
      $button.data('state', (isChecked) ? "on" : "off"); 
 

 
      // Set the button's icon 
 
      $button.find('.state-icon') 
 
       .removeClass() 
 
       .addClass('state-icon ' + settings[$button.data('state')].icon); 
 

 
      // Update the button's color 
 
      if (isChecked) { 
 
       $button 
 
        .removeClass('btn-default-chk') 
 
        .addClass('btn-' + color + ' active'); 
 
      } 
 
      else { 
 
       $button 
 
        .removeClass('btn-' + color + ' active') 
 
        .addClass('btn-default-chk'); 
 
      } 
 
     } 
 

 
     // Initialization 
 
     function init() { 
 

 
      updateDisplay(); 
 

 
      // Inject the icon if applicable 
 
      if ($button.find('.state-icon').length == 0) { 
 
       $button.prepend('<i class="state-icon ' + settings[$button.data('state')].icon + '"></i> '); 
 
      } 
 
     } 
 
     init(); 
 
    }); 
 
});
находится выше кода вызывает проблемы. может кто-нибудь пожалуйста, дайте мне знать

+1

Я просто использовал свой код и его работы хорошо для меня .. смотрите здесь https://jsfiddle.net/zsgh9umn/ –

+0

Вы обертываете свои js в 'ready'? это может быть до js, запущенного до загрузки dom. – BenG

+0

То, как вы использовали, правильно и даже работает здесь для меня. Можете ли вы проверить, вызывает ли что-то внешнее это поведение для вас? –

ответ

0

Использование

var eu_want_team = $('#eu_want_team').is(':checked'); 
alert(eu_want_team); 

или

if($("#eu_want_team").prop("checked")) 
{ 


} 
+1

он спрашивает, как установить его, а не читать. – BenG

+0

remove checked из Raj

Смежные вопросы