首页 > 解决方案 > 在下拉菜单中查找选项文本并设置选定和更改文本

问题描述

使用香草 javascript,我想循环浏览我的下拉列表,并更改所选的,然后更改显示的文本。我有它选择,但我没有得到正确的对象名称来更改选项文本?的项目。

var textToFind = 'LdapUsers';

var dd = document.getElementById('membershipProvider');
for (var i = 0; i < dd.options.length; i++) {
    if (dd.options[i].text === textToFind) {
        dd.selectedIndex = i;
        i.options.text = "Edgewood Login";  //This is WRONG
        break;
    }
}

指导表示赞赏。

标签: javascript

解决方案


您可以使用 aquerySelector和选择器来访问它而无需循环。

v = "222";

selProvider = document.querySelector("#membershipProvider option[value='" + v + "']");

if (selProvider) {
  selProvider.text = "CHANGED!";
  selProvider.selected = true;
}
<select id="membershipProvider">
  <option value='111'>AAA</option>
  <option value='222'>BBB</option>
</select>


推荐阅读