我遇到了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ç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有效。
答案 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"));
}