Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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未设置select的值(仅有时)_Javascript_Jquery_Html - Fatal编程技术网

Javascript未设置select的值(仅有时)

Javascript未设置select的值(仅有时),javascript,jquery,html,Javascript,Jquery,Html,我有一个ajax请求,在成功中,我尝试将值设置为select,如下所示: $('#cadastro .ui-content #cpEstado').val(cadastro.IdentificadorEstado); alert(cadastro.IdentificadorEstado + ", " + $("#cpEstado").val()); 就像我说的,它在请求的成功部分中,警报每次都会带来cadastro.IdentificadorEstado的值,但是$cpEstado.val

我有一个ajax请求,在成功中,我尝试将值设置为select,如下所示:

 $('#cadastro .ui-content #cpEstado').val(cadastro.IdentificadorEstado);
 alert(cadastro.IdentificadorEstado + ", " + $("#cpEstado").val());
就像我说的,它在请求的成功部分中,警报每次都会带来cadastro.IdentificadorEstado的值,但是$cpEstado.val在大多数情况下都是空的。以防我尝试将async设置为false失败。我也试着用

document.getElementById('cpEstado').value = cadastro.IdentificadorEstado;
但也不起作用。可能是什么

  <div class="ui-block-a uf">
       <label for="cpEstado" class="select">
             <select name="estado" id="cpEstado" data-theme="c">
                   <option value="" disabled selected>UF</option>
             </select>
       </label>
  </div>
Edit1:这是一个select元素

Edit2:当页面加载时,应该选择与我在请求和select元素设置中所带的值相同的选项。有时被选中,有时不被选中

您需要执行以下操作:

 $('#cadastro .ui-content #cpEstado').val(cadastro.IdentificadorEstado);
 $('#cadastro .ui-content #cpEstado').change();
或速记:

$('#cadastro .ui-content #cpEstado').val(cadastro.IdentificadorEstado).change();
另外,您不需要指定那个长选择器,若元素有自己的id,您可以通过id直接引用它,因为id在整个html文档中是唯一的,所以不需要编写

$('#cadastro .ui-content #cpEstado')
你可以直接写

$('#cpEstado')

它应该有相同的结果,注意当选择器不是id,而是其他一些

时,它会有不同的行为。请在您的问题中发布相关的html片段。触发更改事件:.triggerchange after.val…我尝试使用您所说的更改事件,但它也不起作用。所以,让我们简化一下您想要实现的目标-下载一些数据,获取元素的ID,然后使用value属性将项目标记为当前选中的下载ID,对吗?或者下载项目名称?事实上,我在加载页面时设置了值,因此我也尝试使用加载,但也没有成功。stetoc是的,我通过ajax请求从Web服务器获取数据,将其放入对象cadastro,并尝试将属性cadastro.IdentificateOrestado的值传递给此元素。当页面加载时会发生这种情况。我确信,cadastro.IdentificadorEvento的值总是正确的,问题只是在将值设置为这个select元素时。我用同一个对象的值填充其他元素,它们就可以了。