我的jquery切换有什么问题

时间:2013-01-04 16:59:15

标签: javascript jquery html toggle

我有div,其ID是: manufacturer_63 ... 它的风格是:display:none,visibility:hidden。

我写的是:

$('select.styled2').change(function() {

     var id = this.value;

            $.ajax({
              type: "GET",
              url: 'index.php?act=manufacturerHome&id='+id,
              success: function(data) {

                $("#manufacturer_"+id).html(data);
              }
            });

     $("#manufacturer_"+id).css('visibility','visible');
     $("#manufacturer_"+id).toggle("slow");

});

它不会切换它。 如果我试着:

 $("#manufacturer_"+id).css('display','block');

而不是切换 - 它有效。

如果我只是切换它有效的东西。

1 个答案:

答案 0 :(得分:1)

你应该这样做:

$('select.styled2').change(function() {
    var id = this.value;

    $.ajax({
        type: "GET",
        url: 'index.php?act=manufacturerHome&id='+id,
        success: function(data) {
            $("#manufacturer_"+id).html(data);
            $("#manufacturer_"+id).css('visibility','visible');
            $("#manufacturer_"+id).toggle("slow");
        }
    });
});

在您的代码中,无论ajax调用是否完成,都将显示该元素,而这只会在ajax调用成功后显示该元素。

另外,您不需要display: nonevisibility: hidden。只需display: none即可,您就可以摆脱$("#manufacturer_"+id).css('visibility','visible');