我正在尝试在对json文件的异步请求之后更新select字段,但是有些错误。看看代码:
<script>
state = <?= $state ?>; //..var of php that I'll use to set a select field
idCity = <?= $idCity ?>; //..var of php
$.when(getAllStates()).done(function(){ //..using when to execute something only after the function
$('#state').val(state); //..set the select field with var state - not working!
});
</script>
我是使用 $。时间来做的,因为只有在请求结束时我才会更新选择字段,但遗憾的是它无法正常工作....函数 getAllStates() 在js文件中定义,它是一个json请求。如果我在Javascript控制台中执行 $('#state')。val(state); ,则效果很好。有人可以帮助我吗?
答案 0 :(得分:0)
基于评论:
state = <?= $state ?>;
将字符串变量$ state指定为纯文本。根据值,可能会导致数字的Javascript分配(例如,如果$ state ==&#39; 7&#39;那么Javascript分配将为state = 7;
,这将使state
数字)或可能未定义的对象。在任何情况下,为了使.val()可靠地工作,它应该是一个字符串。所以改成它:
state = '<?= $state ?>';
并看看是否能解决问题。