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!!!!")

                },

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