JQuery过滤(查找val并使用相关文本)

时间:2014-09-01 14:41:37

标签: jquery

我在通过选项列表过滤时遇到问题,无法找到项目。

FIDDLE

我想过滤选项,找到' 501'例如,从中获取Text值以使用其他地方。

<select id="media_keywords" class="chosen-select" multiple="" style="width: 350px;">
    <option value="504">Alpha</option>
    <option class="optionFound" value="502">Bravo</option>
    <option value="501">Foxtrot</option>
    <option value="503">Zulu</option>
</select>

这是我试过的Jquery

$( "select" )
    .css( "background", "#b4b0da" )
    .filter(function( index ) {
        $( this ).attr( "value" ) === "501";
    })
    .addClass("optionFound");

2 个答案:

答案 0 :(得分:1)

您需要使用.find()来搜索选项并返回以获取元素

$( "select" )
  .css( "background", "#b4b0da" )
  .find('option')
  .filter(function( index ) {
    return this.value== "501";
  }).addClass('optionFound');

DEMO

或者没有像这样的过滤器使用属性选择器

$( "select" )
  .css( "background", "#b4b0da" )
  .find('option[value="501"]')
  .addClass('optionFound');

DEMO

答案 1 :(得分:1)

试试这个:

var val = $('select')
    .css('background', '#b4b0da')
    .find('option[value="501"]')
    .text();