首页 > 解决方案 > 如何捕获多个复选框

问题描述

我想获得创建新用户的级别权限。我使用ajax。如何在js中捕获复选框中的值?

这是我的代码

html

<div class="form-group">
    <label>Hak Akses Register</label>
    <div class="row">
    <?php foreach ($dlevel as $level) { ?>
       <div class="col-md">
          <input type="checkbox" value="<?php echo $level['id']; ?>" id="permission[]" />
          <label for="permission"><?php echo $level['nama']; ?></label>
       </div>
    <?php } ?>
 </div>
</div>

js

var hak = $("#permission").val();
console.log(hak);

标签: javascriptajaxcodeigniter

解决方案


尝试使用:

.prop("checked")

或者

.attr("checked")

.prop将值评估为是/否,.attr如果选中则返回“已选中”,如果未选中则应为空白。但是,如果您想单独针对每个人,使用 ID="permission[]" 不会让您获得这种能力。您需要一种方法来唯一地定位每个人,因此如果 ID 可以是唯一的,那是最好的方法,或者@Viney 答案在使用 CSS 或使用 value 属性的替代方案方面做得很好。在不了解上下文的情况下,很难增加更多的清晰度。

至于发回服务器并在那里处理,请确保每个复选框都有一个名称;name 可以是唯一的,您可以单独评估每个(注意:未选中的复选框不会回发到服务器),因此您可以这样做,或者为复选框提供相同的名称,它应该给出所有检查项目的一个长字符串值中的响应...

有关更多信息,请参阅此在线文章:http: //net-informations.com/jq/iq/checked.htm


推荐阅读