我有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>


第二个是从google服务器下载的,它是一个google翻译小部件。
我需要的是,当用户从第一个下拉列表中单击选项时,脚本应更改小部件下拉列表的值并触发单击功能以实际翻译页面。

        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/

10-14 04:32