在下拉列表中触发单击事件

时间:2014-03-14 11:19:49

标签: javascript php jquery

我有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();
            }

上面的代码段会更改值。我可以看到,例如,选择了英语,但它仍然没有翻译页面

3 个答案:

答案 0 :(得分:2)

您需要发送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);
}

答案 1 :(得分:0)

这有帮助吗?

var $el = $(".goog-te-combo option[value=" + nLang + "]");
$el.prop('selected',true);
$el.trigger("click");

更多关于.trigger()

答案 2 :(得分:0)

我有一天做了同样的事情。 您使用jQuery后的简单解决方案:

<select id="selectId"></select>

<script type="text/javascript">

/*for an action event upon a change i did this*/
$('#first-dropdown-id').change(function(){
     //your code

     /*nesting the click trigger function for it to get triggered*/
     $('#widget-dropwdown-id').trigger( "click" ); 
     }

});


</script>