从动态选择选项中获取文本

时间:2016-02-09 06:54:25

标签: jquery jquery-selectors

我有多个选择选项,我想在car

上写下文字motorcycle.texts

这是一些动态选择选项

<td>

<select id="area-0">
  <option value="1">Car</option>
  <option value="2">Motorcycle</option>
</select>
</td>

<td class="texts"></td>

<td>
    <select id="area-1">
      <option value="1">Car</option>
      <option value="2">Motorcycle</option>
    </select>
</td>

<td class="texts"></td>

这是我的剧本

$('select[id^=area]').change(function(){
    var text_t = $(this option:selected).text();
  $(this).parent().next().html(text_t);

});

如何在car

上放置motorcycle.texts

2 个答案:

答案 0 :(得分:0)

您可以使用.find()方法获取所选的option文字。根据当前实现,您必须获得语法错误。

var text_t = $(this).find('option:selected').text();

而不是

var text_t = $(this option:selected).text();

答案 1 :(得分:0)

  

您的html无效。将其包裹在table -> tr

中      

$(this option:selected)不是有效的选择器。使用$(this).find('option:selected')

$('select[id^=area]').change(function() {
  var text_t = $(this).find('option:selected').text();
  $(this).parent().next().html(text_t);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
  <tr>
    <td>
      <select id="area-0">
        <option value="1">Car</option>
        <option value="2">Motorcycle</option>
      </select>
    </td>
    <td class="texts"></td>
    <td>
      <select id="area-1">
        <option value="1">Car</option>
        <option value="2">Motorcycle</option>
      </select>
    </td>
    <td class="texts"></td>
  </tr>
</table>