如何为bootstrap复选框徽章分配唯一ID?

时间:2015-09-28 17:16:39

标签: javascript jquery twitter-bootstrap checkbox badge

我正在管理您可以列出所有用户的管理页面。在表格中,您可以看到每个用户的权限。

我想使用一个复选框,通过使用ajax(根据徽章复选框表示的给定权限)自动将数据库列值更新为$("document").on("click",".class_radio3",function(e){ e.preventDefault(); true

我找到了badge checkbox。还有jsfiddle is here

然而,有一个问题。如果有多行,则复选框功能不再起作用。此外,如果您更改任何徽章的默认ID,则此功能不再显示now in this fiddle

如何使这些徽章适用于多行并使用自己的ID?

例如,我想为所有行分配id =“user - {{id}} - permissionName”而不是id =“success”。

2 个答案:

答案 0 :(得分:2)

您实际上可以更改任何id的默认badge,如果您更改id但实际上有效,则需要更改它的父label元素& #39; s for属性也用于定位特定checkbox

例如:

<label for="danger1" class="btn btn-danger btn-xs">Query 
     <input type="checkbox" id="danger1" class="badgebox"/>
     <span class="badge">&check;</span>
</label>

<强> DEMO

答案 1 :(得分:2)

如果有多行重复元素,其中包含多个操作,则通常最简单的方法是存储行本身所需的数据。然后使用类或数据属性来定义控件的类型。

<div class="row" data-id="{{id}}" data-permission="user-{{id}}-permissionName">
   <input type="checkbox" data-action="delete" class="btn btn-delete">
</div>

JS

$(':checkbox').change(function(){
    var $row = $(this).closest('.row'),
        rowData = $row.data();
    var action = $(this).data('action');
    var id = rowData.id;
    var permission = rowData.permission;        
});