0

如果我有一个输出以下 HTML 名称属性的 rails 表单

"recipe[ingredients_attributes][1][quantities_attributes][0][measurement]"

如何使用 jQuery 将其拆分为块,以便我可以操作整数。如果可能,我想避免使用正则表达式。

我对rails表单助手ID属性有类似的功能,如下所示

function reindexQuantID(existing, parentIndex, index) {
    var str = existing.split('_');
    str[1] = parentIndex;
    str[3] = index;
    return str.join('_');
}

这个更容易,因为字符由 _ 分隔

4

1 回答 1

0

以下使用正则表达式:

var regex = new RegExp("\[[a-z0-9_]*\]", "g");
var array = existing.match(regex);
array[1] = "[42]";
array[3] = "[007]";
return array.join("");

# "recipe[ingredients_attributes][42][quantities_attributes][007][measurement]"

操作前正则表达式返回的数组如下:

["recipe[ingredients_attributes]", "[1]", "[quantities_attributes]", "[0]", "[measurement]"]

请注意,我对正则表达式不是很有经验,所以可能会有更好的匹配,但代码有效。

PS刚刚注意到斯巴达的评论,这似乎是你需要的。

于 2013-05-19T17:08:28.323 回答