2012-05-14 49 views
7

忽略我在jquery中的新手知識。我最近開始學習,在我面前有挑戰。我有一個名爲checkbox_0,checkbox_1的複選框,並希望從字符串中刪除「checkbox_」,這樣我就可以使用循環中的0,1來提取該索引的數據。謝謝從字符串中刪除字符串jquery

a數值告訴我值checkbox_0,checkbox_1等這些是選中的複選框。

submitButton.on("click", function() { 
      $("Table :checked").each(function(e) { 
       var iData =Table.fnGetData(this.parentNode); 
       // Strip of the checkbox_ from the string 
       for(var i=0; i<=iData.length; i++) { 
        aData = iData[i][7]; 
       } 
       alert(aData); 
       Table.fnDraw();    

      }); 
     }); 

回答

31

這只是一個JavaScript而不是jQuery的東西。

要刪除第一次出現的作品 「checkbox_」 的:

var updatedString = originalString.replace("checkbox_", ""); 

或者,如果你知道它永遠是形式"checkbox_n",其中n是一個數字,

var updatedString = originalString.substring(9); 

。 ..它將字符串中的前九個字符截斷。

無論哪種情況,您最終都會得到一個字符串。如果你想有一個號碼,你可以使用parseInt

var updatedString = parseInt(originalString.replace("checkbox_", ""), 10); 
// or 
var updatedString = parseInt(originalString.substring(9), 10); 

...或者只是把+在它的前面,以導致自動投(但要注意,在這種情況下,十進制和十六進制的字符串會處理):

var updatedString = +originalString.replace("checkbox_", ""); 
// or 
var updatedString = +originalString.substring(9); 
我寫 updatedString = originalString.blah(...);當然你可以取代你的參考,例如,「originalString = originalString.blah(...)

注;`

探索更多:

+0

也可以做:originalString = originalString.replace( 'checkbox_', ''); – jbduzan

+0

這很容易,很快謝謝你。我還有一個問題,我可以累積所有已選中的複選框,然後將所有這些值作爲單個ajax調用發送給每個?我有Table.fnDraw(),它爲選中的每一行執行單個Ajax調用 – user525146

1

要刪除checkbox_部分,你可以簡單地這樣做:

cbName=cbName.replace("checkbox_", ""); 

要爲.each()循環內的所有複選框做到這一點:

var cbIndex=this.name.replace("checkbox_", ""); 
//or... 
var cbIndex=this.name.split("checkbox_").join(""); 
1

有很多方法可以做到這一點,他們中的一些:

$("table :checked").each(function() { 
    var theNumber = this.name.replace(/\D/g, ""); 
    var theNumber = this.name.replace(/[^\d]/g, ""); // or this 
    var theNumber = this.name.match(/\d/g).join(); // or this 
3
submitButton.on("click", function() { 
      $("Table :checked").each(function(e) { 
       var iData =Table.fnGetData(this.parentNode); 
       // Strip of the checkbox_ from the string 
       for(var i=0; i<=iData.length; i++) { 
        aData = iData[i].replace("checkbox_", ""); 
       } 
       alert(aData); 
       Table.fnDraw();    

      }); 
     });