说明:从 alcanceMarca 中选择一个选项时,根据alcanceMarca中的值填充 alcanceProducto ,然后我需要设置(选择) )值为alcanceProducto。
问题:问题是没有设置(选择)alcanceProducto的值因为设置值时,方法是change()。还没完。
我猜测我需要在完成change()之后找到设置alcanceProducto值的方法。
我的代码
enlace = 5; //for example
idMps = 3;
$('#editMPS_structure .alcanceMarca').find('select').val(enlace).change();
console.log($('#editMPS_structure .alcanceProducto').find('select').find('option'));
$('#editMPS_structure .alcanceProducto').find('select').val(idMps);
$('.marca').on('change', function() {
//Populate select select.marca from database using jquery ajax, this part works perfectly
})
$('#editMPS_structure .alcanceMarca')。find('select')等于 .marca
例如:
我有这个默认选择:
<select class="marca">
<option value="0">Seleccione</option>
<option value="1">Option1</option>
</select>
<select class="producto">
<option value="0">Seleccione</option>
</select>
根据 .marca 中的选项1填充 producto
<select class="marca">
<option value="0">Seleccione</option>
<option value="1">Option1</option>
</select>
<select class="producto">
<option value="0">Seleccione</option>
<option value="1">OptionProd1</option>
<option value="2">OptionProd2</option>
<option value="3">OptionProd3</option>
</select>
我需要设置value = 3,但不能正常工作,因为下拉.alcanceProducto仍然没有瞳孔。
我意识到没有加载,因为方法调用change()和设置值之间的控制台上显示的内容只显示选项0,并且不显示您应该上传的3个选项。
答案 0 :(得分:1)
因为您正在填充ajax请求中的选项。
您需要在ajax
请求的成功回调中设置值,以便在您设置值时可以使用这些选项。
$('.marca').on('change', function() {
$.ajax({
....
....
success : function(data) {
// Populate the options
// Then set the value here
$('.producto').val(3);
}
});
})