2016-02-02 32 views
0

我試圖檢查並取消選中引導複選框。我正在使用var測試。我從DB獲得的值。 如果該值爲零(0),我想取消選中該複選框,如果值是一(1),我想選中複選框。它看起來很簡單。如何取消選中引導複選框

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但是,複選框總是被選中。我在哪裏犯錯?我將不勝感激任何幫助。

更新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嗎?這可能是在dom加載之前運行的js。 – 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

刪除已檢查 Raj