Ui复选框 - 默认选中

时间:2011-06-24 12:43:48

标签: jquery checked

我正在使用一个样式化我的复选框的jQuery,这意味着,在点击时,它会改变复选框的样式(实际上是onchange)。 我的问题是:我选择的值是从数据库中获取的,在另一部分上是由用户修改的。 因此,如果满足条件,我希望检查该单选按钮。我想知道如何在我的jQuery函数中执行此操作:(代码如下:)

  <script type="text/javascript">
    $(document).ready(function(){
$(".CheckBoxClass").change(function(){
    if($(this).is(":checked")){
        $(this).next("label").addClass("LabelSelected");
    }else{
        $(this).next("label").removeClass("LabelSelected");
    }                            

});

    });
   </script>

HTML:

  <form id="address" method="POST" action="<?= Route::url('Save user preferences' , array('user_id' => $user));?>">
 <? foreach ($prefered_products as $pp): ?>
 <input id="CheckBox[<?= $pp; ?>]" type="checkbox" class="CheckBoxClass" style="display: none;" name="user_preferences_preference[<?= $pp->id ?>]" value="<?= $pp ?>" checked="checked" />
 <label id="Label[<?= $pp; ?>]" for="CheckBox[<?= $pp; ?>]" class="CheckBoxLabelClass"><?= $pp->product; ?></label>


       Salveaza更喜欢故事         

该功能仅在onchange上。我也想要,如果存在attr cheched =“checked”,则要检查复选框(要显示的选中样式)。

这在给定条件下是否可行?

2 个答案:

答案 0 :(得分:2)

$(".CheckBoxClass:checked").each(function(){
  $(this).next('label').addClass("LabelSelected");
});

答案 1 :(得分:0)

您可以在声明.change()之后手动触发更改效果,未经测试但应该有效:

$(".CheckBoxClass").trigger('change');