将复选框javascript附加到班级

时间:2014-03-03 22:48:30

标签: javascript php jquery

我已经完成了7个复选框并将它们编码为只应检查一个,这里是代码:

        $j(document).ready(function(){
        $j(':checkbox').bind('change', function() {
            var thisClass = $j(this).attr('class');
            if ($j(this).attr('checked')) {
                $j(':checkbox.' + thisClass + ":not(#" + this.id + ")").removeAttr('checked');
            }
            else {
                $j(this).attr('checked', false);
                $j('.first-image').show();
                $j('.hide-onload').hide();
            }
        });
    });

我必须在同一页面中创建另外两个复选框,以便在“是”或“否”之间进行选择,并且他们有另一个类

一切都很好,除非我检查“是”“否”框时不应取消选中第一个复选框,因为它位于不同的类中。

问题是:如何使我附加的代码仅与前7个复选框的类一起工作,并为“是”“否”复选框再创建一个。

我希望我足够清楚,这是我正在处理的页面链接,解释了问题http://www.cabas-durables.fr/magento/index.php/custom-contact/

提前谢谢....


1 个答案:

答案 0 :(得分:1)

您可以将您的职责与另外两个班级分开:

$j('.normal-checkboxes:checkbox').bind(...);
$j('.yes-no:checkbox').bind(...);

然后将您的复选框打包成这样:

<div class="normal-checkboxes">
    <input type="checkbox">
    <input type="checkbox">
</div>

<div class="yes-no">
    <input type="checkbox">
    <input type="checkbox">
</div>

修改

$j(document).ready(function(){
    // When clicking a .normal-checkboxes..
    $j('.normal-checkboxes:checkbox').bind('click', function() {
        // Remove the property checked for all normal-checkboxes
        $('.normal-checkboxes:checkbox').prop('checked', false);
        // Add the property checked to the clicked one
        $(this).prop('checked', true);
    });
});