如何使用JS获取下拉列表框的显示值

<select>   <optionvalue="oneValue">one</option></... <select>    <option value="oneValue"> one </option></select> 如上面的例子  我点击选中one  ,使用JS如何获取one这个单词,看清楚,不是Value里面的值 是它显示的值 展开
 我来答
scott
2015-04-11 · 知道合伙人互联网行家
scott
知道合伙人互联网行家
采纳数:150 获赞数:3882
前端开发行业多年从业经验,专业前端开发工程师

向TA提问 私信TA
展开全部

js获取下拉列表框文本值,例如下面的HTML代码: 

<select onchange="isSelected(this.value);" id="city"> 
<option 
value="1">北京</option> 
<option value="2" >上海</option> 

<option value="2" >广州</option> 
</select>

也就是说当用户选择“上海”这一列时,需要将“上海”这个名称保存起来。其实方法很简单。看下面javascript代码: 

function isSelected(value) { 
var cityName; 
var city = 
document.getElementById("city"); 
//获取选中的城市名称 

for(i=0;i<city.length;i++){ 
if(city[i].selected==true){ 
cityName 
= city[i].innerText; //关键点 
alert("cityName:" + cityName); 

}

也可以这样做:

function isSelected(value) { 
var city = document.getElementById("city"); 

alert(city.options[city.selectedIndex].innerText); 
}

大致解释一下,首先在HTML页面上有一个下拉框,并为此下拉框定了一个“city”的id,并为其绑定了一个onchange事件,通过此事件调用javascript函数。


在javascript函数当中,通过domcument对象获取当前下拉框的节点元素,由于节点的值并非只有一个,所以我们可以通过循环节点来得到每个选项的值。在循环的时候通过判断当前选项是否选中,如果选中则使用city[i].innerText
方式获取当前所选中的文本值。当然如果需要获取选项值,只需如此即可:city[i].value.


至此,通过以上方法在IE下已能达到所要的结果。但是,在FIREFOX下测试时,发现此法不起作用,最后通过查阅资料发现另外一个方法。将city[i].innerText
改为 city[i].text即可。这种方法对IE及FIXEFOX都适用!

二狗和三猫
2012-12-08
知道答主
回答量:6
采纳率:0%
帮助的人:7806
展开全部
这个简单,把value里值和页面显示的值设为相同的不就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
changshan518
2012-05-14 · TA获得超过108个赞
知道答主
回答量:198
采纳率:0%
帮助的人:77.1万
展开全部
var s=document.getElementById("select");
alert(s[s.selectedIndex].text);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a876344961
2012-02-14
知道答主
回答量:21
采纳率:0%
帮助的人:6.1万
展开全部
I don’t know
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式