Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用自动提交设置jQuery cookie_Javascript_Jquery_Cookies - Fatal编程技术网

Javascript 使用自动提交设置jQuery cookie

Javascript 使用自动提交设置jQuery cookie,javascript,jquery,cookies,Javascript,Jquery,Cookies,我正在尝试使用jQuery cookie设置语言。 我有以下表格: <select id="lang"> <option value="en_US">English</option> <option value="it_IT">Italiano</option> <option value="fr_FR">Français</option> </select> <inpu

我正在尝试使用jQuery cookie设置语言。 我有以下表格:

<select id="lang">
    <option value="en_US">English</option>
    <option value="it_IT">Italiano</option>
    <option value="fr_FR">Français</option>
</select>
<input id="btn" type="button" value="submit">
<noscript><input id="btn" type="button" value="submit"></noscript>
上面的表单工作得很好,但我想删除按钮并自动提交。 我可以使用
onchange=“this.form.submit()”
更改表单:


英语
意大利人

但是jQuery部分呢?如何在不使用
$(“#btn”)的情况下设置Cookie。在(“单击”,function(){})

上,您可以直接使用onchange事件,而无需提交以下表单

<select id="lang" onchange="set()">
    <option value="en_US">English</option>
    <option value="it_IT">Italian</option>
</select>

您可以设置cookie,然后提交表单:

// Set cookie then submit
$(document).ready(function () {
    $("#btn").on("click", function() {
        $.cookie('lang_cookie', $("#lang").val(), { expires: 365 });
        $("#btn").closest('form').submit();
    });
});
使用jQuery。

您的html

  <select id="lang" onchange="return setC(this);">
   <option value="en_US">English</option>
   <option value="it_IT">Italiano</option>
   <option value="fr_FR">Français</option>
</select>

function set(){
    $.cookie('lang_cookie', $("#lang").val(), { expires: 365 });
}
// Set cookie then submit
$(document).ready(function () {
    $("#btn").on("click", function() {
        $.cookie('lang_cookie', $("#lang").val(), { expires: 365 });
        $("#btn").closest('form').submit();
    });
});
  <select id="lang" onchange="return setC(this);">
   <option value="en_US">English</option>
   <option value="it_IT">Italiano</option>
   <option value="fr_FR">Français</option>
</select>
 function setC(elem)
   {
     $.cookie(...);
      elem.form.submit();
    }
// Set cookie
$(document).ready(function () {
    $("THE ID OF YOUR FORM").submit(function () {
        $.cookie('lang_cookie', $("#lang").val(), { expires: 365 });
    });
});