我有2个下拉列表,即“父母和孩子”下拉列表
<select id="parentDropdown">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<select id="childDropdown">
</select>
ChildDropdown值是基于parentDropdown选择的,并且编写了单独的onChange函数以通过parentDropdown更改来获取childDropdown值。而且,由于childDropdown中的值正确无误,它工作得很好。
现在,在功能之一中,parentDropdown和childDropdown值来自另一个Ajax方法,我只需要预先选择两个下拉值即可。
//Parent Dropdown
var parentDropdownVal = response.parentDropdownVal;
if((typeof parentDropdownVal !== 'undefined') && (parentDropdownVal !== '')){
$('#parentDropdown').val(parentDropdownVal).trigger('change');
}
//Child Dropdown
var childDropdownVal = response.childDropdownVal;
if((typeof childDropdownVal !== 'undefined') && (childDropdownVal !== '')){
$('#childDropdown').val(childDropdownVal).trigger('change');
}
我面临的问题是:父项下拉列表已设置好。但是,未选择childDropdown值。由于parentDropdown会触发更改方法,因此刷新/对应的值应该出现在childDropdown上。而且,childDropdown中的下拉值也即将到来。但是,请不要预先选择来自其他ajax方法的childDropdown。
但是,当我将警报放入内部时,childDropdown的值将被预先选择。
//Child Dropdown
var childDropdownVal = response.childDropdownVal;
if((typeof childDropdownVal !== 'undefined') && (childDropdownVal !== '')){
alert("hello");
$('#childDropdown').val(childDropdownVal).trigger('change');
}
我尝试过
1) $('#parentDropdown option:contains('+parentDropdownVal+')').prop('selected', true);
2) $('#parentDropdown option').eq(parentDropdownVal).attr('selected', 'selected');
3) $('#childDropdown').val(childDropdownVal).trigger('change');
任何帮助/提示/建议都是高度赞赏的。