var x = 1;
var ctr = 5;
while (x<=ctr){
var ss_+x = $('input[name=IDMenu_'+x+']').val();
x++;
}
正如您在上面看到的,我有一个循环,该循环将遍历名称为IDMenu_1
的输入字段到IDMenu_5
。我试图使用语法var ss_+x
使变量名本身成为变量;但是,这是不正确的,并且不起作用。
如果我不使用循环,这就是我要做的:
var ss_1 = $('input[name=IDMenu_1]').val();
var ss_2 = $('input[name=IDMenu_2]').val();
var ss_3 = $('input[name=IDMenu_3]').val();
var ss_4 = $('input[name=IDMenu_4]').val();
var ss_5 = $('input[name=IDMenu_5]').val();
是否可以在循环中完成此操作?
答案 0 :(得分:2)
您正在尝试使用动态名称创建变量,以便可以使用window[variable_name]
。
注意::在这种情况下,IMO可以使用值数组代替。
var x = 1;
var ctr = 5;
while (x <= ctr) {
window["ss_" + x] = $('input[name=IDMenu_' + x + ']').val();
x++;
}
console.log(ss_1, ss_2, ss_3, ss_4, ss_5);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="IDMenu_1" value="10">
<input name="IDMenu_2" value="20">
<input name="IDMenu_3" value="30">
<input name="IDMenu_4" value="40">
<input name="IDMenu_5" value="50">
答案 1 :(得分:2)
最好使var为数组,然后将项目推入其中。
var x = 1;
var ctr = 5;
var ss = [];
while (x<=ctr){
ss.push($('input[name=IDMenu_'+x+']').val());
x++;
}
然后您将在
中获得值console.log(ss[0]);
console.log(ss[1]);
// ...