我有以下代碼:JavaScript變量不更新
function showDatePicker(){
var isEnabled=#{bean.isEnabled()};
if (isEnabled){
jQueryForDatepicker(".calendar").datepicker('enable');
jQueryForDatepicker(".calendar").datepicker({
changeMonth: true,
changeYear: true,
showOn: "button",
dateFormat:'yy-mm-dd',
buttonImage: "../resources/calendar.gif",
buttonImageOnly: true,
buttonText: "Select date",
beforeShow: function (input, inst) {
var rect = input.getBoundingClientRect();
setTimeout(function() {
inst.dpDiv.css({ marginTop: -input.offsetHeight + '10' , marginLeft: input.offsetWidth + '10' });
}, 0);
}
});
} else {
jQueryForDatepicker(".calendar").datepicker('disable');
}
}
的功能是從一個Ajax事件調用,就是綁在下拉列表中。該下拉列表包含「啓用」,「禁用」值,並設置託管bean中的屬性。我的問題是,在javascript函數中,var isEnabled僅在加載頁面時設置。最初設置爲false,之後,如果我在下拉菜單中更改該值,那麼即使我的bean發回正確的值,javascript中的變量也不會更新。因此,如果它加載了錯誤的值,即使它應該更新爲true,反之亦然,它仍然保持這種狀態。
每次下拉改變時都會觸發函數,這裏有一個ajax調用,唯一的問題是變量保持不變在原來的方式是閱讀。沒有得到更新.. – att1la
那是因爲你是從後端或服務器聲明它。 從前端聲明它:) – knaos