0

次の HTML name 属性を出力する Rails フォームがある場合

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

これをjQueryでチャンクに分割して、整数を操作できるようにするにはどうすればよいですか。できれば正規表現の使用は避けたいと思います。

次のように、レールフォームヘルパー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 に答える