所以,我有一个按钮,其值从变量和字符串连接起来:
$('#btn1').attr('value','question'+currid+'ans1').button('refresh');
例如,这将返回类似question5ans1的内容。现在,在javascript文档的顶部,此值作为变量与字符串相关联,如下所示:
var question5ans1 = "Sydney";
问题是该按钮显示“question5ans1”而不是“Sydney”。有没有办法解决/改变它?
答案 0 :(得分:3)
使用eval
将字符串计算为var。
$('#btn1').attr('value', eval('question'+currid+'ans1')).button('refresh');
而不是eval,更好的解决方案是在下面的对象中使用这样的var,
var questions = {'question5ans1' : 'Sydney' };
并在函数中,
$('#btn1').attr('value', questions['question'+currid+'ans1']).button('refresh');
答案 1 :(得分:0)
如果变量在全局范围内,您可以像这样获取它:
$("#btn1").val(window['question' + currid + 'ans1']);
答案 2 :(得分:0)
您应该将这些类型的变量附加到对象,因为您无法直接将字符串转换为变量名称。不应该使用eval
。
var q = {
question3ans1: "London",
question4ans1: "Tokyo",
question5ans1: "Sydney"
};
$('#btn1').attr('value', q['question' + currid + 'ans1'] ).button('refresh');