2012-05-14 30 views
7

jqueryで私の初心者の知識を無視します。私は最近学ぶようになり、私は私の前に挑戦しています。 checkbox_0、checkbox_1という名前のチェックボックスがあり、そのインデックスのデータを抽出するためにループ内で0,1を使用するように、文字列から "checkbox_"を削除します。ありがとう文字列jqueryから文字列を削除します

aData値は私に値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

これは単なるjQueryではなく、JavaScriptです。あなたはそれが常にnが数字の形"checkbox_n"になるだろう知っていれば、

var updatedString = originalString.substring(9); 

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

をまたは:

は仕事 "checkbox_" の最初の発生を削除します。その文字列から最初の9文字が切り取られます。

いずれの場合も、文字列で終了します。あなたが番号をしたい場合は、parseIntを使用することができます。

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

...あるいは単に自動キャストを引き起こす(その場合には、両方の小数と進文字列がなることに注意することは、それの前に+を置きます)取り扱い:私はupdatedString = originalString.blah(...);を書いたが、もちろん、あなたの参照を置き換えることができ

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

注、例えば、「originalString = originalString.blah(...); `

。探索する

より:.each()ループ内のすべてのチェックボックスのためにこれを行うには

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

+0

も行うことができます。originalString = originalString.replace( 'checkbox_'、 ''); – jbduzan

+0

これは簡単で素早いものでした。私は別の質問がある、私は選択されているすべてのチェックボックスを蓄積し、それぞれの代わりに単一のajax呼び出しとしてそれらの値をすべて送信することができますか?私は選択された各行の単一のajax呼び出しを行うTable.fnDraw()を持っています – user525146

1

checkbox_一部を削除するには、単にこれを行うことができます

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();    

      }); 
     }); 
関連する問題