【发布时间】:2010-04-23 10:26:44
【问题描述】:
本题参考题Show/hide fields depending on select value
<select id="viewSelector">
<option value="0">-- Select a View --</option>
<option value="view1">view1</option>
<option value="view2">view2</option>
<option value="view3">view3</option>
</select>
<div id="view1">
<!-- content -->
</div>
<div id="view2a">
<!-- content -->
</div>
<div id="view2b">
<!-- content -->
</div>
<div id="view3">
<!-- content -->
</div>
$(document).ready(function() {
$.viewMap = {
'0' : $([]),
'view1' : $('#view1'),
'view2' : $('#view2a, #view2b'),
'view3' : $('#view3')
};
$('#viewSelector').change(function() {
// hide all
$.each($.viewMap, function() { this.hide(); });
// show current
$.viewMap[$(this).val()].show();
});
});
当我选择菜单中的第二项时,它会显示相应的字段。
例外情况是当页面加载时选择菜单已经选择了第二个菜单项,该字段不显示。
您可能会说,我是 jquery 的新手,可以肯定地使用一些帮助来调整此代码,以便在页面加载时显示所选项目的字段。
谢谢,
提姆
【问题讨论】: