Jquery - 将字符串视为变量名

Hun*_*ran 5 jquery

这是我缩短的脚本:

var string1 = "This is string 1";
var string2 = "This is string 2";

function test() {
    var selectedOption = $("select#myoptions option:selected").attr("id");
    var str = 'string'+selectedOption;
    $("div#result").html(str);  
}
$("select#myoptions").change(test);
Run Code Online (Sandbox Code Playgroud)

我有一个下拉列表,每个选项都有一个整数id.选择此下拉列表时,我希望jQuery获取所选选项的id,并显示最后具有所选id的字符串变量的内容.

如果选择了ID为"1"的选项,将显示"This is string 1",...

但我现在得到的是显示文本"string1"而不是文本"This is string 1".

我需要一些帮助.非常感谢!

Fos*_*sco 6

您可以更新测试函数以使用eval():

function test() {
    var selectedOption = $("select#myoptions option:selected").attr("id");
    eval('$("div#result").html(string' + selectedOption + ');');
}
Run Code Online (Sandbox Code Playgroud)

试一试.

我提供这个作为一种方式来满足你的要求,尽管我真的很喜欢Rocket提供的答案,它需要对你如何存储你的字符串进行一些小改动.