更改下拉选项文本,页面加载无价值

时间:2018-10-17 11:30:05

标签: jquery select drop-down-menu

我正在尝试使用jQuery覆盖其中一个Dropdown选项的文本,但是它不起作用。

我要显示选项文本所有类别而不是类别

HTML代码段

<select name="filter-cat">
<option value="">Categories</option>
<option value="abc">ABC</option>
</select>

Js代码:

jQuery ('[name=filter-cat] option').filter(function() { 
return ($(this).text() == 'Categories'); //To select Blue
}).prop('text', "All Categories");

请,有人可以帮我吗?

谢谢!

4 个答案:

答案 0 :(得分:1)

可以使用以下功能更改文本

CODEPEN LINK

   $(document).ready(function () {
$('select option:contains("Categories")').each(function(){
   var $this = $(this);

   $this.text($this.text().replace("Categories","All Categories"));    
});
  });

答案 1 :(得分:1)

尝试

$('select[name=filter-cat]').find('option[value=""]').text('All Categories');

DEMO HERE

希望这会有所帮助。

答案 2 :(得分:1)

这也是您可以做到的方式:

首先通过按名称过滤找到选择元素,然后查看包含文本 Categories 的option元素,最后将文本更改为 All Categories >

$(function() {
  $('select[name=filter-cat] option:contains("Categories")').text('All Categories');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select name="filter-cat">
  <option value="">Categories</option>
  <option value="abc">ABC</option>
</select>

答案 3 :(得分:0)

尝试一下:

$('[name=filter-cat] option').filter(function(el) {
     return $(el).text() === 'Categories';
}).text('All Categories');