我試圖檢查並取消選中引導複選框。我正在使用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();
});
});
我只是用你的代碼,它的工作對我來說很好..在這裏看到https://jsfiddle.net/zsgh9umn/ –
你在準備'包裝你的js嗎?這可能是在dom加載之前運行的js。 – BenG
你使用的方式是正確的,它甚至在我這裏工作。你能檢查是否有任何外部因素導致你的這種行爲? –