通过使用jQuery文本设置下拉列表值

我有一个下拉为:

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

在上面的下拉列表中,我知道下拉列表的文字。 如何设置document.ready下拉的值与使用jquery的文本?

这是一种基于选项文本而不是索引的方法。 刚刚testing过。

 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'); 

包含将要select可能不准确的最后一场比赛。

 $("#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'); } }); 

这样可以减less循环迭代的次数,并可以在任何情况下工作。

下面的代码适用于我 –

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

jQuery('[id ^ = select_]') – 这允许你从下拉列表中select下拉的ID

希望以上帮助!

干杯

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

这是一个简单的例子:

 $("#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()); }); 

这是铬和Firefox的工作

将值设置为下拉框。

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

尝试这个..

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

其中XXX是你想要的索引。

  $(document).ready(function () { $("#asset_id").on("change", function (e) { var dd = $(e.target).val(); var country = output(dd); $("#country_id").val(country); }); function output(asset) { var country = ""; switch (asset) { case "1": country = 12; break; case "2": country = 11; break; case "3": country = 13; break; case "4": country = 14; break; case "5": country = 12; break; case "6": country = 11; break; case "7": country = 13; break; case "8": country = 14; break; } return country; } }); <select id="asset_id" name="asset[asset_id]"> <option value="">- Select Trailer - </option> <option value="1">Trailer 1 - Spanish</option> <option value="2">Trailer 1 - English</option> <option value="3">Trailer 1 - French</option> <option value="4">Trailer 1 - German</option> <option value="5">Trailer 2 - Spanish</option> <option value="6">Trailer 2 - English</option> <option value="7">Trailer 2 - French</option> <option value="8">Trailer 2 - German</option> </select> <select id="country_id" name="material[country_id]"> <option value="">- Select Country - </option> <option value="11">England</option> <option value="12">Spain</option> <option value="13">France</option> <option value="14">Germany</option> </select>