我试图完成“喜欢”的事情。我想基于组合中选择的值将存储在一些JS变量中的文本添加到doc中。即如何根据所选的组合值来引用JS变量?
<select id="clickMe">
<option value="a">a</a>
<option value="b">b</a>
<option value="c">c</a>
</select>
<span id="attachHere"></span>
<script>
var a = "something about a";
var b = "something about b";
var c = "something about c";
$(document).ready(function() {
$("#clickMe").change(function() {
$("#attachHere").text($("#clickMe").val());
});
});
</script>
答案 0 :(得分:4)
为什么不选择类似的东西?
<script>
<!--
var values = {
'a' : "something about a",
'b' : "something about b",
'c' : "something about c",
};
$(document).ready(function() {
$("#clickMe").change(function() {
$("#attachHere").text(values[$("#clickMe").val()]);
});
});
//-->
</script>
您将控制您的值列表,并且可以轻松添加和删除值。
答案 1 :(得分:3)
如果你使用 arrays 对象会更好。
假设您不想使用数组,我认为您可以使用eval:
$(document).ready(function() {
$("#clickMe").change(function() {
var tmp;
eval('tmp = ' + $("#clickMe").val());
$("#attachHere").text(tmp);
});
});
答案 2 :(得分:2)
尝试将值放在由选项键入的哈希值中,然后根据所选值提取它。
var choices = {};
choices['a'] = 'something about a';
choices['b'] = 'something about b';
choices['c'] = 'something about c';
$(document).ready(function() {
$("#clickMe").change(function() {
$("#attachHere").text(choices[$(this).val()]);
});
});