选择选项时显示div

时间:2012-02-09 05:05:42

标签: php javascript jquery select

大家好我在选择一个选项

时使用这个jquery来显示div
$("#select1").change(function(){
        if ($(this).val() == "2" ) {
            $("#hide1").fadeIn("fast"); 
        } else {
            $("#hide1").fadeOut("fast");
        }
    });


});

但我有一个问题,当我加载页面从数据库获取结果,选择返回SELECTED选项和div只显示我是否更改选项..

同一个人能帮助我解决这个问题吗?

再次解释:从select中获取val()并显示div而不更改选项...对不起我的英文..

感谢

3 个答案:

答案 0 :(得分:1)

绑定后可以触发更改。

$('#select1').change( function(){
    // your change code
    if ($(this).val() == "2" ) {
        $("#hide1").fadeIn("fast"); 
    } else {
        $("#hide1").fadeOut("fast");
    }

}).change();

答案 1 :(得分:1)

当页面加载时(以及将onchange函数绑定到表单元素之后),您应该触发任何这些函数:

$(document).ready(function(){
   $("#select1").trigger('change');
});

这样,即使从数据库加载了值,用户也会选择它。

编辑:czarchaic的答案也非常好,因为链接事件绑定的事件触发器更紧凑,并且可能更容易阅读代码,在这种情况下可能是更好的解决方案。我提供的答案也可以正常工作,虽然它的时间更长,但它的优点还在于函数不受jquery约束的情况(即在HTML中显式声明事件时):

<select id=""select1" onchange="if ($(this).val() == '2' ) {
        $('#hide1').fadeIn('fast'); 
    } else {
        $('#hide1').fadeOut('fast');
    }
">
<option...

答案 2 :(得分:0)

你可以这样做。绑定后触发更改事件。

    $("#select1").change(function(){
        if ($(this).val() == "2" ) {
            $("#hide1").fadeIn("fast"); 
        } else {
            $("#hide1").fadeOut("fast");
        }
    }).change();