加载页面后,我想(重新)给全局变量赋值。但是,尝试后它不会改变。将值赋给全局变量
html是动态生成的,并且包含一个select。根据存储在数据库中的车辆ID,可以在生成任何选项时进行选择。当车辆改变时,我需要旧的(当前)车辆ID将其关闭。
<select id="selVehicle">
<option value=""> </option>
<option selected value='1'>9999</option>
<option value='2'>9998</option>
<option value='3'>9997</option>
</select>
在我的.js文件中,我有全局变量的声明只是的document.ready()之前:
var oldVehicle = -1;
$(document).ready(function() {
$(":text").on("blur", function() {
var tmp = ($(this).val());
($(this).val(tmp.toUpperCase()));
});
//lots more onblurs and onchanges//
setOldVehicle();
});
function setOldVehicle() {
oldVehicle = $('selVehicle option:selected').val();
alert(oldVehicle);
}
当我运行它,警报还称“-1” 。如何在页面加载后更新oldVehicle变量?
'#selVehicle',你没有足够的''#这样的选择没有工作。此外,这实际上会提醒'undefined'。 –
你的第一个提示应该是它永远不应该是“-1”,更不用说“仍然”-1。在浏览器中测试你的选择器:'$(“selVehicle”).length' - 它将为零。改变选择器并再次尝试'$(“#selVehicle”)。length'并从那里开始工作。 –
我也建议避免全局变量。在需要时检索值,并将范围保持在最低要求。 –