我有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');
而不是切换 - 它有效。
如果我只是切换它有效的东西。
答案 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: none
和visibility: hidden
。只需display: none
即可,您就可以摆脱$("#manufacturer_"+id).css('visibility','visible');
。