使用show / hide实现jQuery post()

时间:2018-05-07 10:35:37

标签: javascript jquery

我通过使用jQuery post()方法的Javascript函数调用Python脚本,就像这样。

function onChangeTitularInfraestructura(val) {
            if (val=='10') {
                $.post("/folder_1/pyscript/getSelectTitularInfraestructura", {name:'f_titular_infraestructura',value:val, all:'',styleclass:'form-element',empty:'True' }, function(data) {
                    $('#div_titular_infraestructura').html( data );
                }).fail( function(){ $( "#div_titular_infraestructura" ).html( "Internal Server Error" ); } );

                $('#div_titular_infraestructura').show();
            } else {
                $("#div_titular_infraestructura").hide();
            };
        };

它的工作原理是,如果我点击调用onChange的下拉列表的值(10),则会出现另一个下拉列表(由python脚本构建);否则,div是隐藏的。

我有一个问题:如果我不使用show()方法编写该行,则它不会按预期工作。如果我在第一次点击时选择值10,则会显示,如果我选择了其他值,它就会消失(到目前为止它没有问题),但如果我再次选择值10,则它不再出现,它仍然是隐藏的。 / p>

解释是什么?

1 个答案:

答案 0 :(得分:0)

最初,您的div div_titular_infraestructura 不包含任何值,因此它似乎是隐藏的。首次选择 10 时,会在该div中填充值,并且该值似乎可见。

当您选择其他值时,它会隐藏div,将其显示样式设置为,因此当您选择值10而不包含 show() < / strong>方法此属性(显示)没有得到切换,它仍然是隐藏的。

show() 方法 display 设置为 block ,并在屏幕上显示