Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在下拉列表中查找选项文本,并设置选定文本和更改文本_Javascript - Fatal编程技术网

Javascript 在下拉列表中查找选项文本,并设置选定文本和更改文本

Javascript 在下拉列表中查找选项文本,并设置选定文本和更改文本,javascript,Javascript,使用vanilla javascript,我想循环我的下拉列表,更改所选的一个,然后更改显示的文本。我选择了它,但是我没有得到正确的对象名称来更改optionText?这是该项目的一部分 var textToFind = 'LdapUsers'; var dd = document.getElementById('membershipProvider'); for (var i = 0; i < dd.options.length; i++) { if (dd.options[i

使用vanilla javascript,我想循环我的下拉列表,更改所选的一个,然后更改显示的文本。我选择了它,但是我没有得到正确的对象名称来更改optionText?这是该项目的一部分

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;
    }
}
var textToFind='LdapUsers';
var dd=document.getElementById('membershipProvider');
对于(变量i=0;i

非常感谢您的指导。

您需要修改该索引处的选项。现在您正试图修改索引本身

应该是:

dd.options[i].text
不是

var textToFind='LdapUsers';
var dd=document.getElementById('membershipProvider');
对于(变量i=0;i

CIFS
LdapUsers
NFS
试验
您应该使用

dd.options[i].text = "Edgewood Login";

就像检查它的值一样,您可以使用
查询选择器和选择器来访问它,而无需循环

v=“222”;
selProvider=document.querySelector(“#membershipProvider选项[value='”+v+'”]);
if(selProvider){
selProvider.text=“已更改!”;
selProvider.selected=true;
}

AAA
BBB

Ya我已经试过了,但没有看到显示器的变化。我刚刚注意到它工作了,但是我在代码中看到的是正确的,但是显示的仍然是LdapUsers。哦,我喜欢不循环,我还需要将它设置为选中的option@JohnGraham我已经更新了我的答案。它并没有改变我看到的内容,我意识到我也必须改变标签,所以我添加了selProvider.label=“Changed”非常感谢!
dd.options[i].text = "Edgewood Login";