我正在使用多选框的插件。从理论上来说,这个问题可以用于任何其他带有选项的插件。 插件有一些选项,其中包括语言字符串。我想创建一组基于语言的选项 - 在此例中为<html lang="">
属性。插件选项 - 如何创建多个选项集
我已经试过这一点:
var multipleSelectLang = function() {
var da = {
placeholder: 'Vælg flere...',
selectAllText: 'Vælg alle',
width: '100%'
};
var en = {
placeholder: 'Select multiple...',
width: '100%'
};
return ($('html:lang(en)')) ? en : da;
};
$('select[multiple]').multipleSelect(multipleSelectLang());
所以根据<html lang="en">
或<html lang="da">
它应该运行带有相应选项的插件。 正如您在this Fiddle中看到的那样,即使语言设置为"da"
,它也会显示英语选项。
我希望我的问题有道理。任何想法有什么不对?
$('html').attr("lang", "da");
// Multiple select functions - work fine.
// $('select[multiple]').multipleSelect({
// placeholder: "Vælg flere...",
// selectAllText: 'Vælg alle',
// width: '100%'
// });
var multipleSelectLang = function() {
var da = {
placeholder: 'Vælg flere...',
selectAllText: 'Vælg alle',
width: '100%'
};
var en = {
placeholder: 'Select multiple...',
width: '100%'
};
return ($('html:lang(en)')) ? en : da;
};
$('select[multiple]').multipleSelect(multipleSelectLang());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/multiple-select/1.2.0/multiple-select.js"></script>
<select multiple="multiple">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
可以执行'$( 'HTML:郎(EN)')'在浏览器的工具,结果是一个对象,没有布尔。我不熟悉插件,也许测试'$('html:lang(en)')。length> 0'而不是布尔测试? – Gunnar
http://stackoverflow.com/questions/5031531/javascript-reading-lang-attribute-in-html-tag – mplungjan