Установить значение раскрывающегося списка с помощью jquery
У меня выпадающее меню:
<select id="HowYouKnow" >
<option value="1">FRIEND</option>
<option value="2">GOOGLE</option>
<option value="3">AGENT</option></select>
В приведенном выше раскрывающемся списке я знаю текст выпадающего списка. Как установить значение выпадающего документа document.ready с помощью текста с помощью jquery?
Ответы
Ответ 1
Это метод, который работает на основе текста, а не индекса. Просто протестировано.
var theText = "GOOGLE";
$("#HowYouKnow option:contains(" + theText + ")").attr('selected', 'selected');
Или, если есть похожие значения (спасибо shanabus):
$("#HowYouKnow option").each(function() {
if($(this).text() == theText) {
$(this).attr('selected', 'selected');
}
});
Ответ 2
Для точного соответствия используйте
$("#HowYouKnow option").filter(function(index) { return $(this).text() === "GOOGLE"; }).attr('selected', 'selected');
содержит выбор последнего совпадения, которое может быть неточным.
Ответ 3
$("#HowYouKnow option[value='" + theText + "']").attr('selected', 'selected'); // added single quotes
Ответ 4
var myText = 'GOOGLE';
$('#HowYouKnow option').map(function() {
if ($(this).text() == myText) return this;
}).attr('selected', 'selected');
Ответ 5
Для GOOGLE, GOOGLEDOWN, GOOGLEUP. Аналогичное значение вы можете попробовать под кодом
$("#HowYouKnow option:contains('GOOGLE')").each(function () {
if($(this).html()=='GOOGLE'){
$(this).attr('selected', 'selected');
}
});
Таким образом, количество итераций цикла может быть уменьшено и будет работать во всех ситуациях.
Ответ 6
Следующий код работает для меня -:
jQuery('[id^=select_] > option').each(function(){
if (this.text.toLowerCase()=='text'){
jQuery('[id^=select_]').val(this.value);
}
});
jQuery ('[id ^ = select _]'). Это позволяет вам выбрать раскрывающийся список, где идентификатор раскрывающегося списка начинается с выберите _
Надеюсь, что это поможет!
Приветствия
S
Ответ 7
$("#HowYouKnow").val("GOOGLE");
Ответ 8
Вот простой пример:
$("#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());
});
Ответ 9
Это работает как с chrome, так и с firefox
установить значение в раскрывающийся список.
var given = $("#anotherbox").val();
$("#HowYouKnow").text(given).attr('value', given);
Ответ 10
попробуйте это.
$(element).find("option:contains(" + theText+ ")").attr('selected', 'selected');
Ответ 11
$("#HowYouKnow option:eq(XXX)").attr('selected', 'selected');
где XXX - это индекс того, который вы хотите.