我通过使用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>
解释是什么?
答案 0 :(得分:0)
最初,您的div div_titular_infraestructura
不包含任何值,因此它似乎是隐藏的。首次选择 10 时,会在该div中填充值,并且该值似乎可见。
当您选择其他值时,它会隐藏div,将其显示样式设置为无,因此当您选择值10而不包含 show()
< / strong>方法此属性(显示)没有得到切换,它仍然是隐藏的。
show()
方法 display
设置为 block
,并在屏幕上显示