Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery中的.val在JSON请求后不起作用_Javascript_Jquery_Json - Fatal编程技术网

Javascript Jquery中的.val在JSON请求后不起作用

Javascript Jquery中的.val在JSON请求后不起作用,javascript,jquery,json,Javascript,Jquery,Json,我试图在异步请求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(fu

我试图在异步请求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>
我是用$.when做的,因为只有在请求结束时,我才会更新select字段,但不幸的是,它不起作用。。。。函数getAllState是在js文件中定义的,它是一个json请求。如果我执行$'state'.valstate;在Javascript控制台中,它可以完美地工作。有人能帮我吗

根据评论: 州=; 将字符串变量$state指定为纯文本。根据值,这可能会导致Javascript分配一个数字,例如,如果$state=='7',则Javascript分配将是state=7;这将使状态为数字或可能未定义的对象。无论如何,要使.val可靠地工作,它应该是一个字符串。因此,将其更改为: 州=;
看看这是否解决了问题。

当您使用此代码时,控制台中会出现什么错误。我有时会看到类型问题。假设$state是一个整数,因为如果它是一个字符串,那么它应该是;,您可能会遇到问题,因为HTML输入字段(例如,$‘state’是字符串)。通常最好是强制所有内容都使用字符串。GetAllState做什么?您能给出一个示例响应吗?我强烈建议通过var state=,使您的PHP变量对JS安全@输出,一个json文件:输出,一个输出,一个输出,一个json文件:输出,一个输出,一个输出,一个json文件:输出,一个输出,一个输出,一个json文件:输出,一个输出,一个输出,一个json文件:[{{州城市城市:城市:AC},{{州城市:城市:AL},{州城市:城市:AL},{{州城市城市:城市:城市:AM},,{州城市:城市:城市:城市:M},{{{州城市:城市:城市:去,{,{州城市:城市:州州城市:城市:城市:州城市:城市:去,{{州城市:城市:州城市:州城市:城市:去,{{州城市:州城市:州城市:州州城市:州城市:城市:城市:城市:城市:去,{,{,{{州城市:州城市:州城市:州城市:州城市:州市:PI},{州市:PR},{州市:RJ},{州市:RN}、{州市:RO}、{州市:RR}、{州市:RS}、{州市:SC}、{州市:SE}、{州市:SP}、{州市:TO}]如果将console.logstate放在.val语句之后,控制台中会显示什么?如果将console.logstate放在.val I语句之后,它将显示预期的值,一个字符串。我需要等待getAllStates的完整执行,因为它将用json请求的值填充select字段。因此,我可以选择其中一个s值使用.val语句。不幸的是,它一直不起作用。。。。。