2016-09-19 64 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/ –