我有这个代码获得seletedIndex == 1并且当selectedindex == 1时使div可见,我想要做的是使selectvalue不是索引。请教我。我是javascript的新手。 if(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;
}
答案 0 :(得分:1)
你在寻找这个,我相信:
document.frmregister.n_mode.options[document.frmregister.n_mode.selectedIndex].value
答案 1 :(得分:0)
如果您需要所选选项的value
,则可以使用.value
元素的select
属性获取该选项。
console.log(document.frmregister.n_mode.value);
这会自动为您提供所选.value
元素的option
,或者如果没有定义value
,它会为您提供.text
option
1}}。
演示: http://jsfiddle.net/WdMTJ/
请注意,正如@RobG所述,如果.text
元素没有<option>
属性,则IE8及更低版本不会返回value
。因此,您需要确定已明确包含这些值。
答案 2 :(得分:0)
<html>
<head>
<script>
function BID_RFQ() {
var n_mode = document.getElementById('n_mode');
var bidrfq = document.getElementById('bidrfq');
console.log(n_mode);
/* Here's the important part. */
var selectedOptionValue = n_mode.options[n_mode.selectedIndex].value;
var visibility='visible',overflow='visible';
if (selectedOptionValue != 'One' && selectedOptionValue!='Two') {
visibility=overflow='hidden';
}
bidrfq.style.visibility = visibility;
bidrfq.style.overflow = overflow;
return true;
}
</script>
</head>
<body>
<form id='frmregister'>
<select id='n_mode' onchange='BID_RFQ()'>
<option>One</option>
<option>Two</option>
<option>Three</option>
</select>
</form>
<div id="bidrfq">bidrfq</div>
</body>
</html>