忽略我在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();
});
});
答案 0 :(得分:37)
这只是一个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(...);`。
更多探索:
答案 1 :(得分: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();
});
});
答案 2 :(得分:1)
要删除checkbox_
部分,您只需执行以下操作:
cbName=cbName.replace("checkbox_", "");
要对.each()
循环中的所有复选框执行此操作:
var cbIndex=this.name.replace("checkbox_", "");
//or...
var cbIndex=this.name.split("checkbox_").join("");
答案 3 :(得分: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