我使用了以下代码:
该演示似乎可以工作,但似乎并没有真正改变复选框的状态。相反,它只是让它看起来检查或未检查。
这是HTML:
<fieldset class="checkboxes">
<label for="checkbox-01" class="label_check c_on"><input type="checkbox" checked="" value="1" id="checkbox-01" name="sample-checkbox-01"> I agree to the terms & conditions.</label>
<label for="checkbox-02" class="label_check"><input type="checkbox" value="1" id="checkbox-02" name="sample-checkbox-02"> Please send me regular updates.</label>
</fieldset>
这是使用的javascript:
<script type="text/javascript">
function setupLabel() {
if ($('.label_check input').length) {
$('.label_check').each(function () {
$(this).removeClass('c_on');
});
$('.label_check input:checked').each(function () {
$(this).parent('label').addClass('c_on');
});
};
};
var linkObj;
$(document).ready(function () {
$('.label_check, .label_radio').click(function () {
setupLabel();
});
setupLabel();
有人可以确认代码是否有问题。在我看来,作者错过了让代码更改复选框选中状态。
这是我用来检查复选框状态的代码:
var action = $('#htmlEdit').is(":checked") ? "Editing HTML" : "Editing";
我做错了检查还是作者的代码没有改变输入元素?