使用jquery按文本设置下拉值

时间:2009-12-11 15:45:42

标签: jquery drop-down-menu

我有一个下拉列表:

<select id="HowYouKnow" >
  <option value="1">FRIEND</option>
  <option value="2">GOOGLE</option>
  <option value="3">AGENT</option></select>

在上面的下拉列表中,我知道下拉列表的文字。如何使用jquery?

使用文本设置document.ready中下拉列表的值

11 个答案:

答案 0 :(得分:206)

这是一种基于选项的文本而非索引的方法。刚刚测试过。

var theText = "GOOGLE";
$("#HowYouKnow option:contains(" + theText + ")").attr('selected', 'selected');

或者,如果有相似的值(感谢shanabus):

$("#HowYouKnow option").each(function() {
  if($(this).text() == theText) {
    $(this).attr('selected', 'selected');            
  }                        
});

答案 1 :(得分:12)

完全匹配使用

    $("#HowYouKnow option").filter(function(index) { return $(this).text() === "GOOGLE"; }).attr('selected', 'selected');

包含将选择最后一个可能不准确的匹配。

答案 2 :(得分:5)

$("#HowYouKnow option[value='" + theText + "']").attr('selected', 'selected'); // added single quotes

答案 3 :(得分:2)

var myText = 'GOOGLE';

$('#HowYouKnow option').map(function() {
    if ($(this).text() == myText) return this;
}).attr('selected', 'selected');

答案 4 :(得分:1)

$("#HowYouKnow").val("GOOGLE");

答案 5 :(得分:1)

对于GOOGLE,GOOGLEDOWN,GOOGLEUP,您可以在代码

下尝试类似的价值
   $("#HowYouKnow option:contains('GOOGLE')").each(function () {

                        if($(this).html()=='GOOGLE'){
                            $(this).attr('selected', 'selected');
                        }
                    });

通过这种方式,可以减少循环迭代次数,并且可以在所有情况下工作。

答案 6 :(得分:1)

以下代码适合我 - :

jQuery('[id^=select_] > option').each(function(){
        if (this.text.toLowerCase()=='text'){
            jQuery('[id^=select_]').val(this.value);
        }
});

jQuery(&#39; [id ^ = select _]&#39;) - 这样您就可以选择下拉菜单的ID从选择_

希望以上有所帮助!

干杯 小号

答案 7 :(得分:1)

试试这个..

$(element).find("option:contains(" + theText+ ")").attr('selected', 'selected');

答案 8 :(得分:0)

这是一个简单的例子:

$("#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 :(得分:-1)

$("#HowYouKnow option:eq(XXX)").attr('selected', 'selected');

其中XXX是您想要的索引。

答案 10 :(得分:-1)

这适用于chrome和firefox

将值设置为下拉框。

var given = $("#anotherbox").val();
$("#HowYouKnow").text(given).attr('value', given);