jquery找到特定输入的父母并申请课程

时间:2016-07-30 08:42:03

标签: javascript php jquery html css

我有一个带有复选框的选择div,我正在尝试用引导按钮和jQuery设置它们。每个input checkbox都通过php获取属性"checked"。所以我需要的是:

  • 找到所有“已检查”的inputs,转到他们的parent标签,最后转到addClass active

我的html(在php foreach循环中)

<?php
global $wpdb;
$ss = "select * from ".$wpdb->prefix."project_email_alerts where uid='$uid'";
$rr = $wpdb->get_results($ss);
$terms = get_terms( 'project_cat', 'parent=0&orderby=name&hide_empty=0' );
foreach($terms as $term):
    $chk = (KleeiaDev_check_list_emails($term->term_id, $rr) == true ? "checked='checked'" : "");?>
    <div data-toggle="buttons" class="btn-group bizmoduleselect">
        <label id="b-<?php echo $term->term_id; ?>" class="btn btn-default">
            <div class="bizcontent">
                <input id="a-<?php echo $term->term_id ?>" type="checkbox" name="email_cats[]" <?php echo $chk ?> value="<?php echo $term->term_id ?>" />
                <span class="glyphicon glyphicon-ok glyphicon-lg"></span>
                <h5><?php echo $term->name ?></h5>
            </div>
        </label>
    </div>
<?php endforeach; ?>

我已经尝试过使用jQuery,搜索其他类似的问题但没有成功:

if($('input').is(':checked')){
   jQuery(this).parent('label').addClass('active');
}

我尝试过使用.each但不太确定。

2 个答案:

答案 0 :(得分:1)

您可以使用

 virtual void function_name();

$('input[type=checkbox]:checked').parents('label').addClass('active');
    $('input[type=checkbox]:checked').parents('label').addClass('active');
.active{
    color: red;
}

答案 1 :(得分:1)

在客户端添加类可能很重要,但在服务器端也可以这样做:

$chk = (KleeiaDev_check_list_emails($term->term_id, $rr) == true ? "checked='checked'" : "");?>
<label id="b-<?php echo $term->term_id; ?>" class="btn btn-default <?=!empty($chk) 'active' : ''?>">