我有一個問題的結果,我已經厭倦瞭解決。jquery每個或自定義複選框問題
HTML
<input type="checkbox" class="check" checked="checked" />
<input type="checkbox" class="check" />
JQUERY
$.fn.op_checkbox = function() {
$(this).hide();
$(this).wrap('<div class="op_checkbox"></div>');
$(this).parent().append('<div class="op_check_on_off"> </div>');
if($(this).is(':checked')) {
$('.op_check_on_off').addClass('op_check_on');
}
else {
$('.op_check_on_off').addClass('op_check_off');
}
}
$(document).ready(function() {
$('.check').op_checkbox();
});
結果
<div class="op_checkbox">
<input class="check" type="checkbox" checked="checked" style="display: none;">
<div class="op_check_on_off op_check_on"> </div>
</div>
<div class="op_checkbox">
<input class="check" type="checkbox" style="display: none;">
<div class="op_check_on_off op_check_on"> </div>
</div>
第一個複選框的結果在第二個複選框被複制,其結果應該是:
<div class="op_checkbox">
<input class="check" type="checkbox" checked="checked" style="display: none;">
<div class="op_check_on_off op_check_on"> </div> <!-- on here -->
</div>
<div class="op_checkbox">
<input class="check" type="checkbox" style="display: none;">
<div class="op_check_on_off op_check_off"> </div> <!-- off here -->
</div>
什麼是這種情況的原因和問題?感謝您的幫助
@abra - 你試過我的回答,這已經解決了你的問題。 – ShankarSangoli
這不起作用。 '$(this).is(':checked')'會檢查第一個複選框和$(this).parent()。find('。op_check_on_off')。addClass('op_check_on');'將被調用爲兩個複選框同時。 –
它不會被調用,因爲$(this).parent()將控制它。 – ShankarSangoli