我有 2 个下拉列表,第一个如下:
<select name="country_id" id="country_id" tabindex="1" onchange="changeLang(this);">
{section name=jj loop=$jezyki}
<option value="{$jezyki[jj].code}" {if $LANG.lang == $jezyki[jj].code} selected {/if}>{$jezyki[jj].name}</option>
{/section}
</select>
第二个是从谷歌服务器下载的,它是一个谷歌翻译小部件。 我需要的是,当用户单击第一个下拉列表中的选项时,脚本应该更改小部件下拉列表的值并触发单击函数来实际翻译页面。
function changeLang(someth){
var nLang = someth.value;
//$(".goog-te-combo option").val(someth.value);
// $(".goog-te-combo").trigger('click');
$(".goog-te-combo option[value="+nLang+"]").prop('selected',true).click();
}
上面的代码片段改变了值。例如,我可以看到选择了英语,但仍然没有翻译页面
最佳答案
您需要调度 onchange 事件:
function changeLang(someth) {
var nLang = someth.value,
evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
$('.goog-te-combo').val(nLang)[0].dispatchEvent(evt);
}
关于javascript - 触发下拉列表的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22403565/