如何在未显示选项时使用jquery选择选项

时间:2013-03-15 03:58:35

标签: jquery

我有这个选择声明:

     <select id = "selectLanguage" name="language"
     <option value="any" lang="English">All</option><option value="any" lang="French">Tous</option>
     <option value="french" lang="English">French</option><option value="any" lang="French">Français</option>
     <option value="english" lang="English">English</option><option value="any" lang="French">Englais</option>
     </select>

在css中:

*:lang(English), *:lang(French) {
display: none;
}

稍后用户将选择他需要的语言,那时我将使用show()显示相应的元素。

在jquery中,是否可以根据显示的语言选择每个选择的第一个选项?

现在,语言选择总是显示ALL,例如

2 个答案:

答案 0 :(得分:0)

要选择选择列表中的第一个选项,请尝试查看jQuery的.first()

var first = $('select option').first();

要在选择列表中选择所选选项,请尝试查看jQuery的:selected Selector

var selected = $('select option:selected');

要选择具有特定属性的选项,请尝试查看jQuery的Attribute Equals Selector

var english = $('select option[lang="English]');

结合这些来获得第一个选择英文的元素,我们得到:

var engSelected = $('select option[lang="English]:selected')

修改 看起来您的HTML属性设置不正确,请尝试以下方法:

<select id = "selectLanguage" name="language">
  <option value="any" lang="English">All</option>
  <option value="any" lang="French">Tous</option>
  <option value="french" lang="English">French</option>
  <option value="french" lang="French">Français</option>
  <option value="english" lang="English">English</option>
  <option value="english" lang="French">Englais</option>
</select>

注意:

您还可以按属性优化选择,例如:

var engEnglish = $('select option[value="english"][lang="English"]');

答案 1 :(得分:0)

见这个

$("#selectLanguage option[lang=French]:visible").first().prop("selected","selected");
$("#selectLanguage option[lang=English]:visible").first().prop("selected","selected");