嗨,这一切都很简单,但出于某种原因,我无法记住如何做到这一点我有以下代码
var m1q1Correct = '1';
q = arguments[1];
var ans = $('input[name=m' + m + 'q' + q + ']:checked', '#containerFrm').val();
if ('m' + m + 'q' + q + 'Correct' == q) {
alert('right');
} else {
alert('wrong');
}
我也试过这个
var ans = $('input[name=m' + m + 'q' + q + ']:checked', '#containerFrm').val();
if (eval('m' + m + 'q' + q + 'Correct') == q) {
alert('right');
} else {
alert('wrong');
}
我试图加入m + m + q + q +正确作为变量名称,任何人都可以告诉我哪里出错了
感谢
答案 0 :(得分:0)
可能javascript正在做一些特殊的添加字符/数字。
如果m和q只是数字,我会将它们转换为字符串并连接它们。
var n = num.toString();
var res = str1.concat(str2);
答案 1 :(得分:0)
您可以使用对象存储变量map而不是单独的变量。那么您不需要应用eval
:
var vars = {'m1q1Correct': '1'};
q = arguments[1];
var ans = $('input[name=m' + m + 'q' + q + ']:checked', '#containerFrm').val();
if (vars['m' + m + 'q' + q + 'Correct'] == q) {
alert('right');
} else {
alert('wrong');
}