【发布时间】:2016-08-26 10:44:21
【问题描述】:
我创建了“omarkasec”作为一个函数,我通过 ajax 从数据库中获取汽车品牌,并通过 ajax 在选择元素中添加了这个汽车品牌作为选项 --> 成功。 但我无法为这个选择元素设置值。
我试过这个代码来设置值:
- $('select[name=marka]').val('Lada');
- $('select[name=marka] option[value=Lada]').prop('selected', true);
- $('select[name=marka] option[value=Lada]').attr('selected', 'selected');
此代码不起作用。但是如果我添加 alert("");在“omarkasec”函数中,代码确实有效,如果我删除警报(“”);代码不起作用。
<div id="marka" class="gizle" >
Marka: <br>
<select name="marka" onchange="omodelsec()" size="10" ></select>
</div>
<script language='javascript' type='text/javascript'>
function omarkasec() {
$.ajax({
type: "POST",
url: "aracsor.php",
dataType: "json",
data: {
otomobilmodelyili : $("select[name=modelyili]").val(), //This work, because i created php.
},
success: function(donen){
$("#marka").removeClass("gizle");
$("#model").addClass("gizle");
$("#yakit").addClass("gizle");
$("#sanziman").addClass("gizle");
$("#cekis").addClass("gizle");
$("#kasatipi").addClass("gizle");
$("select[name=marka]").empty();
$.each(donen, function (index, otomarka) {
$("select[name=marka]").append($("<option>", {
text : otomarka,
value : otomarka,
}));
});
},
});
//if I add here alert(""); The following code works.
}
</script>
<script language='javascript' type='text/javascript'>
omarkasec();
$('select[name=marka]').val('Lada');
alert($('select[name=marka]').val()); //if I add alert(""); this code work but if I remove alert(""); this code get null value.
</script>
【问题讨论】:
-
尝试将您的代码放在
$( document ).ready(function() { //put code here });之间您需要等待文档加载,然后才能找到元素和设置值
标签: javascript jquery ajax setvalue