我有这个选择声明:
<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,例如
答案 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");