установить выпадающее значение по тексту с помощью jquery [дубликат]
этот вопрос уже есть ответ здесь:
- Установка выбора по метке через jquery в 1.4 4 ответы
У меня есть выпадающий в виде:
<select id="HowYouKnow" >
<option value="1">FRIEND</option>
<option value="2">GOOGLE</option>
<option value="3">AGENT</option></select>
в приведенном выше выпадающем списке я знаю текст выпадающего списка. Как можно установить значение выпадающего списка в документе.готовы с текстом с помощью jquery?
11 ответов:
Это метод, который работает на основе текст опции, а не Индекс. Просто проверено.
var theText = "GOOGLE"; $("#HowYouKnow option:contains(" + theText + ")").attr('selected', 'selected');
или, если есть аналогичные значения (спасибо shanabus):
$("#HowYouKnow option").each(function() { if($(this).text() == theText) { $(this).attr('selected', 'selected'); } });
для точного совпадения используйте
$("#HowYouKnow option").filter(function(index) { return $(this).text() === "GOOGLE"; }).attr('selected', 'selected');
contains собирается выбрать последнее совпадение, которое может быть не точным.
$("#HowYouKnow option[value='" + theText + "']").attr('selected', 'selected'); // added single quotes
var myText = 'GOOGLE'; $('#HowYouKnow option').map(function() { if ($(this).text() == myText) return this; }).attr('selected', 'selected');
для GOOGLE, GOOGLEDOWN, GOOGLEUP т. е. аналогичное значение вы можете попробовать ниже кода
$("#HowYouKnow option:contains('GOOGLE')").each(function () { if($(this).html()=='GOOGLE'){ $(this).attr('selected', 'selected'); } });
таким образом,количество итераций цикла может быть уменьшена и будет работать во всех ситуациях.
ниже код работает для меня:
jQuery('[id^=select_] > option').each(function(){ if (this.text.toLowerCase()=='text'){ jQuery('[id^=select_]').val(this.value); } });
jQuery ('[id^=select_]') - Это позволяет выбрать выпадающее меню, где идентификатор выпадающего меню начинается с select_
надеюсь, что выше помогает!
Ура S
вот простой пример:
$("#country_id").change(function(){ if(this.value.toString() == ""){ return; } alert("You just changed country to: " + $("#country_id option:selected").text() + " which carried the value for country_id as: " + this.value.toString()); });