jquery-获取多维命名输入的属性

jquery-获取多维命名输入的属性,jquery,multidimensional-array,pattern-matching,Jquery,Multidimensional Array,Pattern Matching,我有下面的输入字段,我试图找出如何增加一个特定括号内值的值 我将如何增加一个特定的括号内的值(即,title[0][subtitle][3]变为title[0][subtitle][4]) 我已经通过硬编码一个值来部分地使它工作。。。下面的代码基本上实现了我想要的功能,只是我不知道如何动态存储和增加特定的值 (也发布在jsfiddle:) 点击我 ​ $('#clickme').live('click',function(){ var laststitle=$('input.formtext

我有下面的输入字段,我试图找出如何增加一个特定括号内值的值

我将如何增加一个特定的括号内的值(即,title[0][subtitle][3]变为title[0][subtitle][4])

我已经通过硬编码一个值来部分地使它工作。。。下面的代码基本上实现了我想要的功能,只是我不知道如何动态存储和增加特定的值

(也发布在jsfiddle:)


点击我
​
$('#clickme').live('click',function(){
var laststitle=$('input.formtext').attr('name');
var newSubTitle=lastSubTitle.replace(/^(.\[[0-9]+\].*)(\[[0-9]+\])(.*)$/,“$1[20]$3”);
警报(新闻标题);
});

您不想只使用两个(或更多)属性并分别递增它们,有什么原因吗

<input type="text" class="form-text" value="" data-title="0" data-subtitle="0">
<button id="clickme">Click me</button>
​
$('#clickme').live('click', function() {
    var formText$ = $('input.form-text');
    formText$.attr('data-subtitle', +formText$.attr('data-subtitle') + 1); 
    alert(formText$.attr('data-subtitle'));
});​

你可以在电视上看到它

无需参考复杂的正则表达式即可完成,这是一个使用字符串函数完成的解决方案:

lastSubTitle = "title[0][subtitle][0]";
var n = lastSubTitle.substr(0, lastSubTitle.length -1);
var f = n.substr(n.lastIndexOf('[')+1);
var value = parseInt(f,10);
value++;
lastSubTitle = lastSubTitle.substr(0, n.lastIndexOf('[')+1) + value + ']';

alert(lastSubTitle); // alerts "title[0][subtitle][1]"

这样就可以了。

要存储哪个值?
formText$.attr('name', 'title[' + formText$.attr('data-title') +
                       '][subtitle][' + formText$.attr('data-subtitle') + ']');
lastSubTitle = "title[0][subtitle][0]";
var n = lastSubTitle.substr(0, lastSubTitle.length -1);
var f = n.substr(n.lastIndexOf('[')+1);
var value = parseInt(f,10);
value++;
lastSubTitle = lastSubTitle.substr(0, n.lastIndexOf('[')+1) + value + ']';

alert(lastSubTitle); // alerts "title[0][subtitle][1]"