Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery将RubyonRails文本\字段名分块_Javascript_Jquery_Ruby On Rails_String_Split - Fatal编程技术网

Javascript 使用jQuery将RubyonRails文本\字段名分块

Javascript 使用jQuery将RubyonRails文本\字段名分块,javascript,jquery,ruby-on-rails,string,split,Javascript,Jquery,Ruby On Rails,String,Split,如果我有一个rails表单输出以下HTML名称属性 "recipe[ingredients_attributes][1][quantities_attributes][0][measurement]" 如何使用jQuery将其分割成块,以便操作整数。如果可能的话,我希望避免使用正则表达式 我为rails表单助手ID属性提供了一个类似的函数,如下所示 function reindexQuantID(existing, parentIndex, index) { var str = exi

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

"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('_');
}

这一个更容易,因为字符由一个

分隔。下面使用正则表达式:

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]"]
请注意,我对正则表达式不是很有经验,因此可能有更好的匹配,但代码可以工作


p.S.刚刚注意到Sparda的评论,这似乎是你需要的。

你能举一个例子说明块的意思吗?理想情况下,我想要一个包含以下元素的数组“配方”、“成分属性”、“1”、“数量属性”、“0”、“度量”'我的最终目标是操作整数值并返回一个新字符串如果你只需要整数值,没有正则表达式,你可以执行
str.split('][')
,这将给你
[''','1','''','0','…']
,你只需要使用数组中位置1和3处的元素。