select标签和GET提交参数互相影响

背景:DJANGO开发

在实现一个功能时遇到一个这样的问题。select的标签默认总是第一个值,重新刷新页面时,又会默认选择第一个值,而我想实现选择一个标签然后拼接成一个url?zone=bj,之后发送一个GET请求后,刷新页面后,标签选择在刚刚选中的标签。以下分别是JQUERY代码,和后端DJANGO的模板语言。

解决方法:

其实很简单,每次刷新后,重新渲染时,只要加个语句判断选择标签在哪个位置,VIEW函数渲染时会传递一些值过来。用DJANGO模板语言判断一下后端传递过来的值,是哪个标签则在那个标签内添加一个值selected


<select class="form-control" name="zone" id="select-zone">
 <option value="tj" {% if zone == "tj" %}selected{% endif %}>天津</option>
  <option value="bj" {% if zone == "bj" %}selected{% endif %}>北京</option>
 </select>


//提取select 中标签值做GET请求,location.href 充填在url框做访问,windows.location.pathname获得当前页面完整URL
//$().serialize()可以将input,select,form等内容序列化为查询json字符串传递。
/*********************************************/

$("#select-zone").change(function() {
        var zone = $("#select-zone").serialize();
        console.log(zone);

        var pathname = window.location.pathname
        if(zone){
            console.log("ggggggggg")
            location.href = pathname + "?" + zone;
        }






        /*ajax 提交get。
        $.ajax({
                type: "GET",
                async: false,
                cache: false,
                url: window.location.href ,
                data: zone,

                success: function (data) {
                    console.log("good get!!!!")

                },

            }
        );
        */
    });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章