8

忽略我的jquery新手知识。我最近开始学习,我面前有一个挑战。我有一个名为 checkbox_0、checkbox_1 的复选框,并希望从字符串中删除“checkbox_”,以便在循环中使用 0、1 来提取该索引的数据。谢谢

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

            });
        });
4

4 回答 4

47

这只是一个 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(...);`。

更多探索:

于 2012-05-14T16:04:37.047 回答
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();             

            });
        });
于 2012-05-14T16:06:51.593 回答
2

要删除该checkbox_部分,您可以简单地执行以下操作:

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

要对.each()循环内的所有复选框执行此操作:

var cbIndex=this.name.replace("checkbox_", "");
//or...
var cbIndex=this.name.split("checkbox_").join("");
于 2012-05-14T16:05:14.710 回答
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
于 2012-05-14T16:05:56.730 回答