2014-09-23 83 views
0

我正在選擇選項,我不知道如何從選項值的選項庫中獲取文本。JQuery獲取基於相同li元素的選項文本

比如我想獲得文本「丹麥」如果值是DA,

選項的選擇HTML是如下

<div id="language" class="dd-container" style="width: 333px;"> 
    <div class="dd-select"> 
    <input class="dd-selected-value" name="language" type="hidden" value="en"> 
    <a class="dd-selected"><label class="dd-selected-text">English</label></a> 
    <span class="dd-pointer"></span> 
    </div> 

    <ul class="dd-options dd-click-off-close"> 
     <li><a class="dd-option dd-option-selected"> 
      <input class="dd-option-value" type="hidden" value="en"> 
      <label class="dd-option-text">English</label></a> 
     </li> 

     <li><a class="dd-option"> 
      <input class="dd-option-value" type="hidden" value="da"> 
      <label class="dd-option-text">Danish</label></a> 
     </li> 

     <li><a class="dd-option"> 
      <input class="dd-option-value" type="hidden" value="nl"> 
      <label class="dd-option-text">Dutch</label></a> 
     </li> 
    </ul> 
</div> 

在我的jQuery,我能夠獲得與下面statment

var langname = $('li a.dd-option input.dd-option-value[value="da"]').val(); 
alert(langname); 

的價值,但我不能讓這個

文本

有沒有人有解決方案?

+0

您還可以使用兄弟姐妹方法來獲取文本爲$('li a.dd-option input.dd-option-value [value =「da」]').siblings('label').text();',您可以使用文本()或html()來獲取標籤中的文本 – 2014-09-23 10:50:41

回答

0

標籤是輸入元素的兄弟。您需要使用正確的選擇瞄準下一個標籤元素:

$('li a.dd-option input.dd-option-value[value="da"]').next().text(); 
+0

此方法有效。謝謝 – user3126531 2014-09-24 01:04:34

0

您可以使用jQuery closest方法來實現這個象下面這樣:

var langname = $('li a.dd-option input.dd-option-value[value="da"]').closest('a').text(); 

alert(langname); 

jsfiddle爲同一