Javascript 更改selectbox中的语言时的jQuery调用函数
我有以下问题。 为了翻译一个网站,我正在使用插件。 这个很好用。但是,我需要一个带有标志和语言的CSS样式的选择框,当选择不同的选项时,应调用Javascript 更改selectbox中的语言时的jQuery调用函数,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我有以下问题。 为了翻译一个网站,我正在使用插件。 这个很好用。但是,我需要一个带有标志和语言的CSS样式的选择框,当选择不同的选项时,应调用$(“[数据本地化]”).localize(“示例”,{language:$(this).attr('value'))来翻译页面 这段代码我现在正在使用,它对于一个普通的、没有样式的selectbox很好用 <script type="text/javascript"> $(function() { $('#polygl
$(“[数据本地化]”).localize(“示例”,{language:$(this).attr('value')
)来翻译页面
这段代码我现在正在使用,它对于一个普通的、没有样式的selectbox很好用
<script type="text/javascript">
$(function() {
$('#polyglot-language-options').change(function() {
if ($(this).attr('value') == "en") {
$("[data-localize]").localize("example", {
language: $(this).attr('value')
});
}
else if ($(this).attr('value') == "nl") {
location.reload();
}
});
});
</script>
此插件()不符合要求。我很快发现了错误:
- 它不允许链接,因为它不返回
this
- 它一次只能在一个元素上工作(不使用
)each()
- 它有一个奇怪的元素层次结构。它似乎需要一个id为的元素,包含一个
,包含一个表单
(如中所示)。在我看来,这样的插件应该只在语言选择元素上调用选择
- 它似乎是自动导航的,希望配置页面结构。该奇特框中的每个
项都包含指向相应页面的链接li
- 因此,它既不会触发它所在的表单,也不会触发您想要收听的
事件change
目前,你不能随心所欲地使用这个特定的插件。如果你想修复所有的bug,我祝你快乐:-)尽管如此,还是可以操纵插件代码,让你在选择事件上注册回调(在这里你可以调用本地化插件)。否则,你需要选择其他选择插件(或者自己从头开始构建一个,修改现有代码)“当前代码不起作用”什么东西不起作用?是的。没有看到你的HTML,就很难诊断这个问题。我们需要看看你在特定元素中使用了什么ID。polyglot插件用jQuery不认为是selectbox的其他东西替换了普通的selectbox HTML代码,因此,
change
不起作用。它看起来像e该插件不适用于此类用途…但您可能可以编辑源代码并使其触发事件。谢谢您的回复。您知道其他插件有一个很好的选择框,我可以使用它吗?没有什么特别的,但我确信jQuery UI包含构建一个选择框的工具。
$('#polyglotLanguageSwitcher').polyglotLanguageSwitcher({
effect: 'fade'
});