[英]Select box options not getting selected by jquery with ajax response data
我有一个更新表单,其中数据通过ajax调用进行了预填充。 除选择框外,所有数据都填充良好。 我正在使用jquery填充数据。
我的选择代码:
<div class="test " id="test">
<select id="gender2" name="gender2" class="required">
<!-- <option value="" selected></option> -->
<option value="F">Female</option>
<option value="M">Male</option>
</select>
</div>
Ajax呼叫:
$.ajax({
type: "POST",
url: 'fetchData',
data: {
'custId': custID,
},
success: function (paxUpdateData) {
var cust = jQuery.parseJSON(paxUpdateData);
$("#firstName").val(cust.firstName);
$("#middleName").val(cust.middleName);
$("#gender2").val(cust.gender);
},
error: function (e) {
alertify.error('Error in retreiving details');
}
});
我已经尝试过这些,但是没有用:
$('gender2 option[value='+cust.gender+']').attr('selected', 'selected');
$('#gender2 option[value='+cust.gender+']').prop('selected', true);
$("div.test select").val(cust.gender);
注意:即时从备份中获取数据的方式是,男性为cust.gender = M,女性为cust.gender = F。
尝试
$('#gender2').change(function() {var selectvalue =$('#aioConceptName').find(":selected").val(cust.gender);});
$("#gender2").change(function() {
//your ajax
});
尝试这个
当涉及select
框时,它需要change()
事件,
$.ajax({
type: "POST",
url: 'fetchData',
data: {
'custId': custID,
},
success: function (paxUpdateData) {
var cust = jQuery.parseJSON(paxUpdateData);
$("#firstName").val(cust.firstName).trigger('change');
$("#middleName").val(cust.middleName).trigger('change');
$("#gender2").val(cust.gender).trigger('change');
},
error: function (e) {
alertify.error('Error in retreiving details');
}
});
看到此演示程序正在工作,现在您可以将ajax函数放入document ready
函数中,请检入ajax响应console.log()
值与您的select选项值相同。
$(document).ready(function(){ $('#gender2').val("O"); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="test " id="test"> <select id="gender2" name="gender2" class="required"> <option value="F">Female</option> <option value="M">Male</option> <option value="O">Other</option> </select> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.