被选择我有使用选择的选项值填充的形式的javascript函数。当选择该选项,它填充字段和其它选择(“selVehicleEditModel”),但不选择一个选项。否选项在<select>
function displayEditVehicle() {
var data = jQuery('#selVehicleEditList option:selected').val();
var dataArray = data.split("|");
jQuery('#inpVehicleId').val(dataArray[0]);
jQuery('#selVehicleEditMake option[value="' + dataArray[4] + '"]').attr("selected", "selected");
jQuery('#inpVehicleEditVehicleId').val(dataArray[9]);
jQuery('#inpVehicleEditColor').val(dataArray[7]);
jQuery('#inpVehicleEditLicense').val(dataArray[8]);
jQuery('#inpVehicleEditYear').val(dataArray[6]);
//get all models for make from database
updateVehicleEditModel();
jQuery('#selVehicleEditModel option[value="' + dataArray[5] + '"]').attr("selected", "selected");
}
起初,我想也许有一个与模型的问题(dataArray中的[5])空白或空或别的意外,所以我把警报在:
updateVehicleEditModel();
alert(dataArray[5]);
jQuery('#selVehicleEditModel option[value="' + dataArray[5] + '"]').attr("selected", "selected");
那确认值(在dataArray中“资源管理器” [5],在选项值“资源管理器”)是正确的,但它也选择了正确的选择。警惕了,现在又回到没有选择任何选项。
关于这里发生了什么的任何想法?
不'的jQuery( '#selVehicleEditModel')VAL(dataArray中的[5]);'你的工作?听起来像一个竞争条件,它不知道该选项存在,除非它等待一点(你的'alert'会导致一些阻塞)。 – h2ooooooo
正如上述评论说,你的'updateVehicleEditModel'功能是建立数据库调用来获取数据。这无疑是异步发生的。如果没有警报,下一行会在任何内容填充之前执行。 – rockerest
@ h2ooooooo和rockerest:这就是我的想法,但A)不确定,B)想不出一种解决方法。 :) –