Javascript未设置select的值(仅有时)
我有一个ajax请求,在成功中,我尝试将值设置为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
$('#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元素时。我用同一个对象的值填充其他元素,它们就可以了。