2011-06-03 60 views
0

我只有标签的名称,没有标识。需要找出一种方法来获取所选下拉列表的文本。这是HTML:如何通过标签名称获取选定文本的值,而不是标识

<SELECT name="selectRightName"> 
<OPTION value="76" >1</OPTION> 
<OPTION value="200" >2</OPTION> 
<OPTION value="201" >3</OPTION> 
<OPTION value="202" >4</OPTION> 
<OPTION value="203" >5</OPTION> 
</SELECT> 

通过某种原因,这将返回空值:

$(document).ready(function(){ 

alert(productName); 
alert(selectRightName); 
$('select[name=selectRightName]').change(onSelectChange); 
$('select[name=selectLeftName]').change(onSelectChange); 

});

功能onSelectChange(){

var fselected = $('select[name=selectRightName] option:selected'); 
var sselected = $('select[name=selectLeftName] option:selected'); 
    alert(fselected + " " + sselected); 
+0

您的封套已关闭,其中一个是大写 – wdm 2011-06-03 16:19:08

回答

1

在你的HTML属性有大写字母S开头,但你的选择是不是反映了它,属性选择到处都是区分大小写。

var fselected = $('select[name=SelectRightName] option:selected'); 

也有在你的HTML流浪),不知道那是什么在那里做什么,但你应该将其删除。

+0

固定拼写问题,仍然不起作用。语法是否正确? – Alexica 2011-06-03 16:30:27

+0

@Alexica:你在哪里触发这个选择器?它是变化事件的一部分还是文档准备好了?如果文档已准备就绪,则可能需要首先标记“selected”选项之一。 – BoltClock 2011-06-03 16:39:06

+0

函数假设在更改下拉列表中的值时触发,因此部分更改事件。下面是完整的脚本:$(文件)。就绪(函数(){ \t警报(产品名称); \t警报(selectRightName); \t $( '选择[名称= selectRightName]')变化(onSelectChange)。 ; $('select [name = selectLeftName]')。change(onSelectChange); }); function onSelectChange(){ \t var fselected = $('select [name = selectRightName] option:selected'); var sselected = $('select [name = selectLeftName] option:selected'); alert(fselected +“”+ sselected); – Alexica 2011-06-03 16:59:11

相关问题