0

我使用了以下代码:

花式复选框

该演示似乎可以工作,但似乎并没有真正改变复选框的状态。相反,它只是让它看起来检查或未检查。

这是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 &amp; 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";

我做错了检查还是作者的代码没有改变输入元素?

4

1 回答 1

0

不清楚,但有效

http://jsfiddle.net/mplungjan/U4cLN/

当您单击使用 的标签时 <label for="checkboxID" />,该框在任何浏览器中都会被选中(和未选中),而无需 JavaScript。这是纯粹的浏览器默认行为

所以

<LABEL class="label_check" for="checkbox-02"><INPUT name="sample-checkbox-02" id="checkbox-02" value="1" type="checkbox"> Please send me regular updates.</LABEL>

将选中该框和脚本样式标签

于 2012-04-08T17:05:17.377 回答