2014-09-23 31 views
0

我的咖啡腳本被通過這條線展開:射擊的javascript

$(document).on 'change', '#myid1' 

現在也應該得到對

'#myid2' 
'#myid3' 
'#myid4' 
. 
. 
. 
And so on.. 

變化推出,它也應該記住,推出了數腳本。例如,如果#myid1被更改,JavaScript應該被解僱並保存「1」。

我該怎麼做?

此致敬禮!

+4

'$( 「[ID^=本身份識別碼]」)上( '變更',函數(){})'應該做的伎倆 – AdityaParab 2014-09-23 12:51:09

+0

'$(文件)。在( 「變化」。 ,「#what,#ever,#id」,function(){...});' – pistou 2014-09-23 12:51:20

+1

是javascript還是coffeescript? – Barmar 2014-09-23 12:52:04

回答

2

這是你在找什麼?

代碼:

$(document).on('change', '#myid1, #myid3, #myid4', function() { 
    var id = $(this).attr('id'); 
    var num = id.substring(id.length - 1, id.length); 

    alert(num); // Should alert the correct value (1, 3, 4 etc...) 
}); 

你可能也想看看添加一個類,每一個元素(即<input type="text" class="inputElem" id="myid1" />

,然後切換到代碼來處理,而不是列出的IDS基於這個類的變化:

$(document).on('change', '.inputElem', function() { 
    var id = $(this).attr('id'); 
    var num = id.substring(id.length - 1, id.length); 

    alert(num); // Should alert the correct value (1, 3, 4 etc...) 
}); 
+0

更好的解決方案是在像data-num = 1這樣的元素上添加一個'data-attribute',並提醒這個attribue'alert($(this).data('num'));'以便避免多位數字的問題(10,100,1000 ...) – pistou 2014-09-23 12:58:50

+0

嘿謝謝fpr,答案幫了我很多。問題是子字符串只會給我最後一位數字。所以,如果我得到了myid10,它將返回0.嘗試使用此代替:'var num = id.replaceAll(「[^ 0-9]」,「」);'但它給了我一個錯誤。 – Syk 2014-09-24 12:46:34