jQuery:将文本添加到现有选择列表选项值

时间:2014-11-11 10:14:04

标签: jquery append

我有一个选择列表:

<select class="inputbox" onchange="document.location.replace(this.value);" >
    <option dir="ltr" value="/nl" >Nederlands (NL)</option>
    <option dir="ltr" value="/de" >Deutsch (DE)</option>
    <option dir="ltr" value="/en/orange" selected="selected">English (UK)</option>
</select>

我需要这个范围的内容......

<dd class="category-name">Category: <span itemprop="genre">Orange</span></dd>

要添加(包括斜杠)到除选定值之外的所有值。 结果将是:

<select class="inputbox" onchange="document.location.replace(this.value);" >
    <option dir="ltr" value="/nl/orange" >Nederlands (NL)</option>
    <option dir="ltr" value="/de/orange" >Deutsch (DE)</option>
    <option dir="ltr" value="/en/orange" selected="selected">English (UK)</option>
</select>

1 个答案:

答案 0 :(得分:1)

您可以使用.val()之类的

&#13;
&#13;
var itemprop = $('.category-name span').text().toLowerCase().trim();
$('select.inputbox option:not(:selected)').val(function(i, text) {
  return text + '/' + itemprop;
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<dd class="category-name">Category: <span itemprop="genre">Orange</span></dd>
<select class="inputbox" onchange="document.location.replace(this.value);">
  <option dir="ltr" value="/nl">Nederlands (NL)</option>
  <option dir="ltr" value="/de">Deutsch (DE)</option>
  <option dir="ltr" value="/en/orange" selected="selected">English (UK)</option>
</select>
&#13;
&#13;
&#13;