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>