我的表单上有以下select
<select id="select-1">
<option value="11">Option 11</option>
<option value="12">Option 12</option>
<option value="13">Option 13</option>
</select>
隐藏输入
<input id="hidden-input-1" value="13">
当我的页面加载时,hidden-input-1
的值可能是11,12或13.我希望将我的选择默认为此输入的值可能是什么。到目前为止,我已尝试使用.val():
$( document ).ready(function() {
/*...
do AJAX stuff to set input value
...*/
$("#select-1").val($("#hidden-input-1").val());
});
只返回空白选择。关于如何指出这个的任何想法?
答案 0 :(得分:1)
$("#hidden-input-1").val('12');
var value = $("#hidden-input-1").val();
alert(value);
$("#select-1").val(value);
答案 1 :(得分:1)
当你没有加载到DOM中时,你试图访问这些元素,所以你没有得到任何价值,下面是正确的方法。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select-1">
<option value="11">Option 11</option>
<option value="12">Option 12</option>
<option value="13">Option 13</option>
</select>
<input id="hidden-input-1" value="13">
<script>
$(document).ready(function() {
$("#select-1").val($("#hidden-input-1").val());
});
</script>
&#13;
答案 2 :(得分:1)
/*...
do AJAX stuff to set input value
...*/
$.ajax()
是异步的; $("#select-1").val($("#hidden-input-1").val());
显示为同步,可以在$.ajax()
完成设置隐藏input
值之前调用吗?如果在$.ajax()
成功之后,错误回调。
尝试在ajax调用的完整处理程序中调用$("#select-1").val($("#hidden-input-1").val());
$.ajax().then(function() {
/*...
do AJAX stuff to set input value
...*/
// set `select` value when `input` value set
$("#select-1").val($("#hidden-input-1").val());
}, function err(jqxhr) {
console.log(jqxhr.status)
})
`