Javascript exec()函数
我有以下几点Javascript exec()函数,javascript,jquery,regex,Javascript,Jquery,Regex,我有以下几点 $().ready(function() { $("input[name^=totalRent_]").each(function() { var input = $(this); var name = input.attr('name'); var num = /\d+$/.exec(name)[0]; 我的html表单有: <input type="text" name="totalRent_1
$().ready(function() {
$("input[name^=totalRent_]").each(function()
{ var input = $(this);
var name = input.attr('name');
var num = /\d+$/.exec(name)[0];
我的html表单有:
<input type="text" name="totalRent_1" value="" /> <br />
<input type="hidden" name="totalRent_1_hidden" /><br />
<hr />
<input type="text" name="totalRent_2" value="" /> <br />
<input type="hidden" name="totalRent_2_hidden" /><br />
<hr />
<input type="text" name="totalRent_3" value="" /> <br />
<input type="hidden" name="totalRent_3_hidden" /><br />
<hr />
现在,我看到一个javascript错误,它说:
/\d+$/.exec(名称)为空
每个函数都附加到(“input[name^=totalRent_z]”。我需要做什么才能使in只附加到total_rent,而不隐藏totalRent
提前谢谢 如果您只想选择文本输入,而不想选择隐藏的输入,请将选择器更改为筛选依据(名称和类型): 或者,您可以在每个回调函数上检查元素的type属性:
$('input[name^=totalRent_]').each(function(){
var input = $(this);
if (input.attr('type') == 'text'){
var name = input.attr('name');
var num = /\d+$/.exec(name)[0];
}
});
如果您只想选择文本输入,而不想选择隐藏的输入,请将选择器更改为“筛选依据”(名称和类型): 或者,您可以在每个回调函数上检查元素的type属性:
$('input[name^=totalRent_]').each(function(){
var input = $(this);
if (input.attr('type') == 'text'){
var name = input.attr('name');
var num = /\d+$/.exec(name)[0];
}
});
$.pimp(){function();}$.pimp(){function();}