【发布时间】:2017-01-27 03:21:24
【问题描述】:
我有一个动态类的输入字段:
<input class="chek" data-id="1" type="checkbox" data-toggle="toggle">
<input class="chek" data-id="2" type="checkbox" data-toggle="toggle">
<input class="chek" data-id="3" type="checkbox" data-toggle="toggle">
这是我的 Js:
$(".chek").unbind().change(function(e) {
var getid = $(this).attr('data-id');
alert(getid);
e.preventDefault();
$.ajax({
url: base_url + '/admin/program/setslider?selected='+getid,
type: 'POST',
dataType: 'json',
data: getid,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
})
问题是 $(this).attr('data-id'); 返回所有 data-id attr 引用同一个类 chek(我假设 $(this) 将返回 data-id 如果仅特定类但它返回所有 data-id)
我想的解决方案是获取用于选择特定输入的动态类,例如:
<input class="chek_1" data-id="1" type="checkbox" data-toggle="toggle">
<input class="chek_2" data-id="2" type="checkbox" data-toggle="toggle">
<input class="chek_3" data-id="3" type="checkbox" data-toggle="toggle">
而 JS 是这样的:
$(".chek_'+ id +'").unbind().change(function(e) {
// code here
}
注意:
我正在使用引导切换 http://www.bootstraptoggle.com/ 来更改复选框。
【问题讨论】:
-
您的问题不清楚。在选中/取消选中任何复选框时您要进行任何操作?
-
您需要更具体地说明您的问题是什么以及您要做什么。见How to Ask
-
感谢感谢,请参阅有问题的 chang。
-
当你说“$(this).attr('data-id'); 返回所有引用同一个类 chek 的 data-id attr”时——这绝对不是真的。它只会得到你改变的那个。见:jsfiddle.net/3tk62zdw
标签: javascript jquery html checkbox jquery-selectors