2009-03-10 9 views
0

私はこれと "似たような"ことを達成しようとしています。コンボで選択した値に基づいて、いくつかのJS変数に格納されているテキストをドキュメントに追加したいと思います。つまり、コンボの選択値に基づいてJS変数を参照するにはどうすればよいですか?jqueryを使用して変更イベントのJS varからテキストを追加

<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> 

答えて

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> 

値のリストを制御して値を簡単に追加したり削除したりすることができます。

3

あなたは配列オブジェクトを使用する場合は、より良いだろう。

私はあなたがevalのを使用することができると思う、あなたは配列を使用したくないと仮定:

$(document).ready(function() { 
    $("#clickMe").change(function() { 
     var tmp; 
     eval('tmp = ' + $("#clickMe").val()); 
     $("#attachHere").text(tmp); 
    }); 
}); 
+0

私も配列をお勧めします。しかし、eval()を使ったほうがいいです。 – lpfavreau

+0

うんうん。 eval()は働いていましたが、lpfavreau –

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()]); 
    }); 
}); 
関連する問題