2012-07-26 85 views
0

我试图从选择器的下拉列表中选择文本。如果我直接按名称引用下拉它的工作原理:使用jQuery选择器从选择列表中获取选定的文本

$('#aBigLongASP.NETWebformsGeneratedName_ddl_StateOfOption :selected').text() 

不过,我试图用一个选择仅使用名字的最后一部分,选择下拉菜单:

$('#select[id$='ddl_StateOfOption']) :selected).text(); 

,但我可以”似乎很难实现它的功能。 Chrome开发者工具会抛出以下错误:

SyntaxError: Unexpected identifier

任何人都可以指出错误在哪里?

+2

堆栈溢出语法突出显示器应该已经指出了其中一个错误。你嵌套单引号。用双引号替换一组。 – 2012-07-26 12:52:51

+0

也删除前导'#'。 – 2012-07-26 12:53:09

+0

同样摆脱方括号后的随机右括号。 – 2012-07-26 12:54:32

回答

5

试试这个:

$('select[id$="ddl_StateOfOption"] :selected').text(); 

存在一些问题与您的代码:

// $('#select[id$='ddl_StateOfOption']) :selected).text(); 
// ^  ^    ^^  ^
// |   |     | |   \ 
// |   |     | \   missing closing ' 
// |   \    / shouldn't have) 
// \   should be " not ' 
//  You were selecting elements with id "select" rather than tag "select" 
+0

完美,谢谢。我会接受,当我被允许:) – Simon 2012-07-26 12:54:21

+0

辉煌,它很高兴看到有什么不对,而不是复制和粘贴解决方案。如果可以的话,我会再次接受! – Simon 2012-07-26 13:17:59

0
$("#select[id$='ddl_StateOfOption'] :selected").text(); 

试试这个。

+0

谢谢,这也给错误 - “无法识别的表达”。 @nnnnnn答案的作品。 – Simon 2012-07-26 12:55:54