JQuery不会改变输入的值

时间:2014-03-26 15:55:06

标签: javascript jquery html wordpress

我遇到了JQuery& amp; HTML。 我正在使用Wordpress 3.8.1,因此我的代码被拆分了。

我有这个输入(在sidebar.php中):

    <input type="hidden" name="lg" value=" ">

当从选择中选择一个选项时,此输入值需要更改。

选择代码是(在header.php中):

    <select class="langbox" name="lang" onChange="url_redirect(this.options[this.selectedIndex].value)">
        <option >Language</option>
        <option class="text-option" value="it">Italiano</option>
        <option class="text-option" value="en">English</option>
        <option class="text-option" value="de">Deutsch</option>
        <option class="text-option" value="fr">Fran&ccedil;ais</option>
        <option class="text-option" value="ru">Pусский</option>
    </select>

这是我的函数url_redirect():

    function url_redirect(lang){
        alert($('input[name="lg"]').val());
        $('input[name="lg"]').val(lang);
        alert($('input[name="lg"]').val());
        window.location='http://www.myurl.com/'+lang;}

第一个警告显示值为“”,第二个警报显示正确的结果(de,it,fr,en,ru),但输入的值不会改变,我不知道我知道为什么。我已经尝试了一切,但没有任何作用。原因可能是代码被分成不同的文件.php,因为wordpress需要? JS错误?

P.S:window.location有效。

1 个答案:

答案 0 :(得分:0)

我认为你可以使用cookie和设置值来选择,你可以使用jquery cookie插件我认为cookie函数是从jquery库中弃用的

function url_redirect(lang){
  $.cookie("selectindex",lang);
    alert($('select[name="lang"]').val());
    $('select[name="lang"]').val(lang);
    alert($('select[name="lang"]').val());
    window.location='http://www.myurl.com/'+lang;
 }

 if($.cookie("selectindex") !== undefined){
 $('select[name="lang"]').val($.cookie("selectindex"));
 }