首页 > 解决方案 > 使用 jquery 替换选择选项文本

问题描述

我尝试通过 jquery 更改选择选项之一的文本。但它不起作用。

https://jsfiddle.net/oj3spt0y/8/

$(document).ready(function() {
  var els = $('#coupon-options select').find('option[text="Unknown"]'); // tried .text('sd')
  $.each(els, function(i, v) {
    v.text('sd') // tried $(this).text('sd')
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="coupon-options">
  <select name="asd" class="form-control" title="" id="gfhfg">
    <option value="1" selected="">Unknown</option>
    <option value="2">Yes</option>
    <option value="3">No</option>
  </select>
</div>

标签: javascriptjquery

解决方案


您可以尝试使用 jQuery 的:contains()选择器

$(document).ready(function() {
  var op = $('#coupon-options select option:contains(Unknown)');
  op.text('sd')
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="coupon-options">
  <select name="asd" class="form-control" title="" id="gfhfg">
    <option value="1" selected="">Unknown</option>
    <option value="2">Yes</option>
    <option value="3">No</option>
  </select>
</div>


推荐阅读