Javascript 如何获取选择值?

Javascript 如何获取选择值?,javascript,Javascript,我有一段代码,它获取seletedIndex==1,并在selectedindex==1时使div可见,我要做的是获取selectvalue而不是索引。请教我。我是javascript新手。如果(document.frmregister.n_mode.selectedIndex==1)像这样将selectedIndex==1更改为selectvalue function BID_RFQ() { if (document.frmregister.n_mode.selectedIndex =

我有一段代码,它获取seletedIndex==1,并在selectedindex==1时使div可见,我要做的是获取selectvalue而不是索引。请教我。我是javascript新手。如果(document.frmregister.n_mode.selectedIndex==1)像这样将selectedIndex==1更改为selectvalue

function BID_RFQ() {
    if (document.frmregister.n_mode.selectedIndex == 1) {
        document.getElementById("bidrfq").style.visibility = 'visible';
        document.getElementById("bidrfq").style.overflow = 'visible';
    } else if (document.frmregister.n_mode.selectedIndex == 2) {
        document.getElementById("bidrfq").style.visibility = 'visible';
        document.getElementById("bidrfq").style.overflow = 'visible';
    } else {
        document.getElementById("bidrfq").style.visibility = 'hidden';
        document.getElementById("bidrfq").style.overflow = 'hidden';
    }
    return true;
}

如果需要所选选项的
,可以使用
select
元素的
.value
属性获取该值

console.log(document.frmregister.n_mode.value);

这将自动为您提供所选
选项
元素的
,或者如果没有定义
,它将为您提供
选项
文本

演示:



请注意,正如@RobG在下面所述,如果
元素没有
属性,IE8和更低版本将不会返回
.text
。因此,您需要确保已明确包含这些值。

如果您需要所选选项的
值,可以使用
select
元素的
.value
属性来获取它

console.log(document.frmregister.n_mode.value);

这将自动为您提供所选
选项
元素的
,或者如果没有定义
,它将为您提供
选项
文本

演示:



请注意,正如@RobG在下面所述,如果
元素没有
属性,IE8和更低版本将不会返回
.text
。因此,您需要确保已明确包含这些值。

您正在寻找这些值,我相信:

document.frmregister.n_mode.options[document.frmregister.n_mode.selectedIndex].value

我相信你在寻找这个:

document.frmregister.n_mode.options[document.frmregister.n_mode.selectedIndex].value

函数BID_RFQ(){
var n_mode=document.getElementById('n_mode');
var bidrfq=document.getElementById('bidrfq');
console.log(n_模式);
/*这是最重要的部分*/
var selectedOptionValue=n\u模式。选项[n\u模式。selectedIndex]。值;
var visibility='visible',overflow='visible';
if(selectedOptionValue!='One'&&selectedOptionValue!='Two'){
可见性=溢出='隐藏';
}
bidrfq.style.visibility=可见性;
bidrfq.style.overflow=溢出;
返回true;
}
一个
两个
三
比德尔福

函数BID_RFQ(){
var n_mode=document.getElementById('n_mode');
var bidrfq=document.getElementById('bidrfq');
console.log(n_模式);
/*这是最重要的部分*/
var selectedOptionValue=n\u模式。选项[n\u模式。selectedIndex]。值;
var visibility='visible',overflow='visible';
if(selectedOptionValue!='One'&&selectedOptionValue!='Two'){
可见性=溢出='隐藏';
}
bidrfq.style.visibility=可见性;
bidrfq.style.overflow=溢出;
返回true;
}
一个
两个
三
比德尔福


try
document.frmregister.n_mode.value
try
document.frmregister.n_mode.value
嗨,夏洛,我试过你的建议,但没用。document.frmregister.waa.options[document.frmregister.waa.selectedIndex].value==BIDDINGit's works^ ^谢谢,我刚刚错过了编辑一些名称元素:)非常感谢。没问题。享受。它应该会让你用JS做更多有趣的事情。特别是当你们开始使用Hi-Sheylo的“onChange”事件时,我尝试了你们的建议,但并没有奏效。document.frmregister.waa.options[document.frmregister.waa.selectedIndex].value==BIDDINGit's works^ ^谢谢,我刚刚错过了编辑一些名称元素:)非常感谢。没问题。享受。它应该会让你用JS做更多有趣的事情。特别是当您开始使用带有@ULF1138的“onChange”事件时,感谢您的帮助:)向上投票或接受答案通常是感谢某人的最佳方式。:)@ULF1138谢谢你的帮助:)向上投票或接受答案通常是感谢某人的最好方式@user273612谢谢您的帮助:)@user2736012您的断言符合DOM规范,但在旧版本的IE中,选项元素没有值属性,返回的值不是文本。@RobG:是的,但在相当旧的版本中,IE6和IE7 IIRC都是这样。目前我并不是非常被迫为这些浏览器提供解决方案。@user2736012它也出现在IE8中。解决方案是始终具有值属性或属性,或者猜测如果值属性为“”(空字符串),则使用所选选项的文本属性。很可能有基于IE的设备也有同样的问题。@RobG:Hmm。。。我不知道IE8是个问题。我将更新以注意到,
value
属性对于最广泛的兼容性是必需的。我仍然更喜欢这种简洁明了的解决方案。@user273612谢谢您的帮助:)@user2736012您的断言符合DOM规范,但在旧版本的IE中,选项元素没有值属性,返回的值不是文本。@RobG:是的,但在相当旧的版本中,IE6和IE7 IIRC都是这样。目前我并不是非常被迫为这些浏览器提供解决方案。@user2736012它也出现在IE8中。解决方案是始终具有值属性或属性,或者猜测如果值属性为“”(空字符串),则使用所选选项的文本属性。很可能有基于IE的设备也有同样的问题。@RobG:Hmm。。。我不知道IE8是个问题。我将更新以注意到,
value
属性对于最广泛的兼容性是必需的。我还是喜欢这个简单明了的解决方案。