2012-05-14 25 views
7

JQuery'deki en yeni bilgilerimi yok sayın. Son zamanlarda öğrenmeye başladım ve önümde bir meydan okuma var. Adlarımın bir onay kutusu var onay kutusu_0, onay kutusu_1 ve dizelerden "onay kutusu" nı kaldırmak istiyorum, böylece bu dizine ait verileri ayıklamak için döngüde 0, 1 kullanıyorum. TeşekkürlerDizgeden dize kaldırın jquery

aData değeri bana onay kutusunu işaretler onay kutusu_0, onay kutusu_1 vb. Seçili onay kutularıdır.

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

      }); 
     }); 

cevap

31

Bu bir JavaScript'dir, jQuery değil, bir şeydir. Eğer her zaman n bir rakamdır formda "checkbox_n" olacağım biliyorsanız,

var updatedString = originalString.substring(9); 

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

Veya:

iş "checkbox_" ilk oluşumunu kaldırın. ... dize ilk dokuz karakteri kesiyor. Her iki durumda da bir dize ile sonlanırsınız. Eğer bir numara istiyorsanız, parseInt kullanabilirsiniz:

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

... ya da sadece bir otomatik döküm neden onun önünde bir + koymak (ama bu durumda dikkat, hem ondalık ve onaltılık dizeleri olacak) ele. örneğin "originalString = originalString.blah (...) Ben updatedString = originalString.blah(...); yazdım ama tabii size referans yerini alabilir


Not

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

Daha

keşfetmek için:

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

.each() döngü içerideki bütün işaret kutusu Bunu yapmak için:

+0

de yapabilirsiniz: originalString = originalString.replace ('checkbox_', ''); – jbduzan

+0

Bu kolay ve hızlı oldu çok teşekkürler. Yine de başka bir sorum var, seçilen tüm onay kutularını biriktirebilir ve sonra tüm bu değerleri her biri için tek bir ajax çağrısı olarak gönderebilir miyim? Seçilen her satır için tek ajax çağrısı yapan Table.fnDraw() var – user525146

1

checkbox_ bölümünü kaldırmak için, bunu basitçe yapabilirsiniz

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

bunu yapmak için birçok yol, bazıları vardır:

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

      }); 
     }); 
İlgili konular