我有一个简单的表单输入列表,它们是可排序的,用户可以向表单添加更多行。
名称属性相当简单:
field_id_3[0][options][html_data]
field_id_3[1][options][html_data]
field_id_3[2][options][html_data]
我有一个相当简单的 updateindexes 方法,如下所示:
$container.find('.' + opts.rowClass).each(function(rowCount) {
regex = /^(.*)\[(?:[0-9]+)\](.*)$/;
$(this).find('input, select, textarea').each(function(fieldCount) {
$field = $(this);
if ($field.attr('name')) {
var fieldName = $field.attr('name').replace(regex, '$1[' + rowCount + ']$2');
$field.attr('name', fieldName);
}
});
});
这一切似乎都运行良好,但现在我需要引入新元素,这些元素也是可排序和嵌套的。我现在正在编写第二个 updateindexes 方法,它只处理嵌套索引。
名称属性沿线
field_id_3[0][options][html_data]
field_id_3[1][options][html_data]
field_id_3[2][options][list_items][0][item]
field_id_3[3][options][list_items][1][item]
field_id_3[4][options][html_data]
我坚持的是修改正则表达式模式,以便第一个数组索引的替换和任何第二个数组索引在两个更新索引方法中相互独立。
如何使用正则表达式独立定位第一个 [key] 属性和第二个 [key] 属性?
谢谢