Селектор jQuery, содержит равные - PullRequest
19 голосов
/ 08 сентября 2011

У меня есть следующий селектор

    var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                                            .find("option:contains('LIKE')");

это проверяет параметр, который содержит слово "как", верно?

Как мне найти вариант, который точно со словом «как»?

Что-то вроде этого:

     var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                                            .find("option:equals('LIKE')");

Ответы [ 2 ]

24 голосов
/ 08 сентября 2011

Просто выберите все опции из select и отфильтруйте их по значению text():

var likeComperssionOption = $('select[id*=ComparisionType]:first option').filter(function() { return $(this).text() == "LIKE" });
2 голосов
/ 08 сентября 2011

Если вы хотите выбрать на основе атрибута value параметров, вам нужно использовать атрибут , равный селектору , чтобы выбрать элементы с определенным значением для их атрибута value:

var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                           .find("option[value='LIKE']")

В противном случае, чтобы выбрать на основе отображаемого текста параметров, используйте:

var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                           .find("option").filter(function() {
                               return $(this).text() == 'LIKE';
                           });

Обновление: Возможно, у вас возникли проблемы с исходным селектором, это выглядит очень странно. Вы, вероятно, должны изменить

$('select[id*=ComparisionType]').eq(0)

к чему-то простому, как

$('#ComparisionType')

Концепция этого ответа работает отлично, вы можете увидеть его в действии здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...