2016-09-19 60 views
-1

我有一种具有动态类作为输入字段:如何在jQuery中更改函数中选择动态类?

<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');返回所有数据-ID ATTR指的同一类赤(我应该$(this)将返回data-id,如果只有特定的类,但它会返回所有的数据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/以使复选框变化。

+0

你的问题不清楚..在你想的任何操作的任何复选框的选中/清除? –

+0

您需要更具体地了解您的问题以及您正在尝试做什么。看到[问] – charlietfl

+0

谢谢,请参阅有问题的chang。 –

回答

0

我想你想获得复选框的更改事件。

根据您的HTML,您可以使用以下代码来获取更改事件。

$("input[data-toggle='toggle']").change(function(){ 
     alert(this.checked); 
}); 

OR

$("input:checkbox").change(function(){ 
     alert(this.checked); 
}); 

参考Fiddle

+0

感谢例如答复,其实我的问题不清楚看到我的问题的变化。我的问题是选择特定的类来调用更改函数到特定的输入 –

+0

您的代码对我来说工作正常..我已经基于您的代码创建了一个小提琴,它没有返回所有的数据ID。小提琴 - http://jsfiddle.net/xs9e6moL/75/ –