0

我有这个选择语句:

     <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 会发生什么

4

2 回答 2

0

看到这个

$("#selectLanguage option[lang=French]:visible").first().prop("selected","selected");
$("#selectLanguage option[lang=English]:visible").first().prop("selected","selected");
于 2013-03-15T04:07:35.110 回答
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"]');
于 2013-03-15T04:02:01.230 回答