从动态 select 选项获取文本

Get text from dynamic select option

我有多个 select 选项,我想在 .texts

上写 carmotorcycle

这几个动态select选项

<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);

});

如何将 carmotorcycle 放在 .texts

您可以使用 .find() 方法获取所选 option 的文本。根据当前的实现,您一定遇到了语法错误。

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

而不是

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

You have invalid html. Wrap it in table -> tr

$(this option:selected) is not a valid selector. Use $(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>