Live Demo
$(function() {
$("#selection").on("change", function() {
var id = $(this).find('option:selected').text().toLowerCase();
if (id) $("#"+id).show().siblings("div").hide();
}).trigger("change"); // initialise on load
});
選択したテキストに依存しないようにするには、変更できます
var id = $(this).find('option:selected').text().toLowerCase();
配列内の div の ID を持つ - これは重複の可能性を意味しますが、すべての依存関係をスクリプトに移動します。
var id = ["car","plane","boat"][this.selectedIndex];
または、空の最初のオプションがある場合:
var id = ["","car","plane","boat"][this.selectedIndex];
jQueryに問題があるように見えるので、完全なコード:
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>Test selections</title>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#selection").on("change", function() {
var text = $(this).find('option:selected').text().toLowerCase();
if (text) $("#"+text).show().siblings("div").hide();
}).trigger("change");
});
</script>
</head>
<body>
options:<select id='selection'>
<option value='1'>Car</option>
<option value='2'>Plane</option>
<option value='3'>Boat</option>
</select>
<div id='car'>you have chosen a car</div>
<div id='plane'>you have chosen a plane</div>
<div id='boat'>you have chosen a boat</div>
</body>
</html>