单击Jquery中的链接后检查复选框

Posted

技术标签:

【中文标题】单击Jquery中的链接后检查复选框【英文标题】:Check checkboxes after click link in Jquery 【发布时间】:2017-04-20 23:59:48 【问题描述】:

我有这样的应用程序视图

用户名带有数组,0到8个其他值带有不同的数组。

<table class="table">
<thead>

    <tr>
        <th >Name</th>
        <th>View</th>
        <th>Edit</th>
        <th>Delete</th>
    </tr>      
</thead>
<tbody>
   <?php $x = 0; ?>
        <?php foreach ($users as $user)  ?>

        <tr>

            <th style="background-color: #cce5ff;"> <a style="color:#8c8c8c; cursor: pointer;" type="button" data-toggle="collapse" data-target="#<?php echo $user['user']->id; ?>_<?php echo $x; ?>"> 
                    <b><?php echo $user['user']->first_name . " " . $user['user']->last_name; ?></b></a>
            </th>
            <th colspan="3" style="background-color: #cce5ff;"><a id="<?php echo $user['user']->id; ?>" class="select_all user_<?php echo $user['user']->id; ?>" style="cursor: pointer;">Select All</a> </th>

        </tr>
         <tbody id="<?php echo $user['user']->id; ?>_<?php echo $x; ?>" <?php if($x != 0)?> class="collapse"<?php  ?>>
        <?php foreach ($folders as $folder)  

                $user_permissions = get_folder_permission($user['user']->id,$folder->id);

            ?>

        <tr>
            <td>
                <?php echo $folder->client_name;?>
            </td>
            <td>
                <input type="checkbox" id="view_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" class="is_check_v check_all_<?php echo $user['user']->id; ?>" value="view" <?php if(isset($user['permission']))if(!empty($user_permissions) && $user_permissions->can_view==1) echo 'checked';elseecho '';?>  name="per">     
                <input type="hidden" id="h_view_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" name="view_permission[][<?php echo $folder->id; ?>][<?php echo $user['user']->id; ?>]" value="<?php if(!empty($user_permissions)) echo $user_permissions->can_view;else echo 0;  ?>">
            </td>
            <td>
                <input type="checkbox" id="edit_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" class="is_check_e check_all_<?php echo $user['user']->id; ?>" value="edit" <?php if(isset($user['permission']))if(!empty($user_permissions) && $user_permissions->can_edit==1) echo 'checked';elseecho '';?> name="per">
                <input type="hidden" id="h_edit_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" name="edit_permission[][<?php echo $folder->id; ?>][<?php echo $user['user']->id; ?>]" value="<?php if(!empty($user_permissions)) echo $user_permissions->can_edit;else echo 0;  ?>">
            </td>
            <td>
                <input type="checkbox" id="delete_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" class="is_check_d check_all_<?php echo $user['user']->id; ?>" value="delete" <?php if(isset($user['permission']))if( !empty($user_permissions) && $user_permissions->can_delete==1) echo 'checked';elseecho '';?> name="per">
                <input type="hidden" id="h_delete_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" name="delete_permission[][<?php echo $folder->id; ?>][<?php echo $user['user']->id; ?>]" value="<?php if(!empty($user_permissions)) echo $user_permissions->can_delete;else echo 0;  ?>">
            </td>
        </tr>

        <?php  ?>
         </tbody>
        <?php $x++; ?>
        <?php  ?>
</tbody>

单击“全选”链接后,我想选中所有“查看”“编辑”“删除”复选框。 每个用户都有“全选”链接,如果点击它,只有他的复选框被选中。这是我想做的,但我没有任何想法。

我想用 Jquery 来做。

请帮忙。

【问题讨论】:

【参考方案1】:

这个 Jquery 代码解决了我的问题。

$(".select_all").click(function () 
  user_id = $(this).attr('id');
  $.each($('.check_this_'+user_id),function()
    $(this).prop('checked',true);
  );
);

【讨论】:

请不要发布裸代码答案,还请提供一些关于您的代码在做什么的评论。【参考方案2】:

尝试(假设您的 Select All 按钮 ID 是 selectAll ):

$('#selectAll').click(function(e)
    var table= $('.table');
    $('td input:checkbox',table).prop('checked',this.checked);
);

【讨论】:

但全选链接附带数组 在绑定到数组之前提供一个 id 或类以选择所有链接。

以上是关于单击Jquery中的链接后检查复选框的主要内容,如果未能解决你的问题,请参考以下文章

检查jquery中的复选框

jQuery DataTables 检查标题单击时的复选框

在单击 jquery 时添加属性“已检查”

单击复选框后,Jquery/ajax/php 将数据加载到文本字段中

如何检查单击时是不是选中了复选框?

即使通过Javascript代码检查,如何触发复选框单击事件?