在我的页面上,我有一个下拉选择框,默认值为(空)。当用户选择条目时,将显示该条目类型的相应表单。
一些问题......
.change()
个事件,不显示表单框。他们必须选择不同的<option>
,然后点击返回原来的选择以恢复他们的论坛。以下是代码:
<script type="text/javascript">
$(document).ready(function(){
$('#select_type').change(function () {
$('fieldset').css('display','none'); # hide all the forms on the page
var selectval = $('#select_type').val();
if (selectval == 'instance')
{
$('#instance').toggle();
}
if (selectval == 'mob')
{
$('#mob').toggle();
}
if (selectval == 'dailyquest')
{
$('#dailyquest').toggle();
}
if (selectval == 'repeatablequest')
{
$('#repeatablequest').toggle();
}
if (selectval == 'zonequest')
{
$('#zonequest').toggle();
}
if (selectval == 'reward')
{
$('#reward').toggle();
}
});
});
</script>
帮助JS的大师!
答案 0 :(得分:7)
您可以迭代一组值,而不是多个IF子句。但在这种情况下,如果没有其他要求那么简单:
$(document).ready(function(){
var select = $('#select_type');
$('#' + select.val()).toggle(); // Toggle the preset value
select.change(function () {
$('fieldset').css('display','none');
$('#' + $(this).val()).toggle();
});
});
应该够了。
答案 1 :(得分:5)
$(document).ready(function() {
$("#select_type").change(function () {
$("fieldset").css("display", "none");
$("#" + $(this).val()).toggle();
}).change();
});
答案 2 :(得分:0)
答案 3 :(得分:0)
我可能不会使用选择框,因为在用户知道选项之前,选择框只是一个很好的选择。不允许神秘的肉。这是一篇关于selection dependant inputs的好文章。
我对这个问题的看法: *只应显示链接到所选选项的部分,因此我不想使用切换。
$(function(){
var sel = $("#select_type");
$("#"+sel.val()).show();
sel.change(function(){
$(this).children("option").each(function(){
$("#"+this.value)[this.selected ? "show" : "hide"]();
});
});
});