预选子项下拉值取决于父项下拉列表

时间:2019-04-16 11:05:08

标签: javascript jquery

我有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');

任何帮助/提示/建议都是高度赞赏的。

0 个答案:

没有答案