2012-02-28 82 views
2

我的html代码:如何从jquery的类的第二个元素获取值?

 <select class="b_selectbox"> 
      <option value="0">Status</option> 
     </select> 

     <select class="b_selectbox"> 
      <option value="0">Type</option> 
     </select> 

     <select class="b_selectbox"> 
      <option value="0">Category</option> 
     </select> 

这是工作第一要素:

$(".b_selectbox option:first").text(); 

我试图让文本 “类型”,这里是我试过至今:

$(".b_selectbox option:first").text()[1]; // result: "t" probably second letter from "Status" 

$(".b_selectbox option:first")[1].text(); // not working either 

没有使用每个和id名称的解决方案吗?

回答

6

要么

$('.b_selectbox option').eq(1).text(); 

如果每个选择元素只有一个选项(使得select不必要的?),或者如果你想获得的所有选项的第二或

$('.b_selectbox').eq(1).children('option').first().text(); 

如果您想要第二个select元素的第一个option的文本。请参阅.eq()[docs]

+0

我不明白为什么我们应该删除“选项:第一个”? – motto 2012-02-28 23:52:53

+0

你的意思是用'$('。b_selectbox选项')。eq(1)'?如果'option:first'将始终选择集合中的第一个选项。它与$('。b_selectbox选项')。eq(0)'相同,它总是选择第一个元素。你需要第二个,如果你有'$('。b_selectbox选项:first')。eq(1)',你会得到一个空的jQuery元素,因为'$('。b_selectbox option:first')'是一组只有一个元素。请参阅http://api.jquery.com/first-selector/ – 2012-02-28 23:54:19

0
$(".b_selectbox option:first").is(":selected").text() ? 
+0

原谅我的法语,但之后你是什么? – motto 2012-02-28 23:51:46

2

我认为你正在寻找:eq运营商...尝试,

$(".b_selectbox:eq(1) option:first").text() 

DEMO

+0

故意在'.b_selectbox'和':eq(1)'之间放置空格吗? – 2012-02-28 23:50:02

+0

毫米不..谢谢指出。 – 2012-02-28 23:52:09

相关问题