1. 程式人生 > >ajax動態載入下拉框資料

ajax動態載入下拉框資料

下拉框—–ajax動態載入資料

嗨!這是我發表的第一篇部落格,希望對大家有所幫助,有什麼不對的地方還望校正!

jsp頁面(型別一)

<select class="form-control" name="orgName" id="select_orgName">
       <option>--請選擇--</option> <!-- 這個option也可以寫在ajax中-->
</select>

獲取的資料是真實資料,是資料中的資料,然後從後臺進行資料回撥

ajax 程式碼塊

上個圖片,這裡斷了個debugger,查看回調的資料,資料顯示有兩條。
不過這裡的warehouse,我也一直沒有弄明白,找到很多都是這樣寫的,百度說了一大堆,反正就是一種解決方案
這裡寫圖片描述

設定預設值(型別二)

當在作修改操作資訊的時候,先需要查詢所有的資訊,這是頁面中選擇框就需要進行判斷其中一個值是預設的

ajax 程式碼塊 —— 修改操作
//'修改操作,預設選中'
  window.onload=function(){
          var selectVal=${users.orgName}  //"這不用管,這是獲取值,拿到你自己的值"
          $.ajax({
                 timeout: 3000,
                 async: false,
                 type: "POST"
, url: "${webroot}/user/orgList", dataType: "json", data: { warehouse: $("#select_orgName").val(), //'選擇框id' }, success: function (data) { for (var i = 0; i < data.length; i++) { $("#select_orgName"
).append("<option >" + data[i].orgName + "</option>"); //'在迴圈中設定 預設選中 為true' if (select.options[i].value == selectVal){ select.options[i].selected = true; } } } }); }

上面 取值var selectVal= ${users.orgName},有時候來說是錯誤的寫法,這時候需要改變一下。我們把${users.orgName}這個值放到一個隱藏的標籤裡面,然後根據標籤id獲取值

頁面: <input type="hidden" name="orgName" id="selVal" value="${users.orgName}" />

js:  var selectVal=("#selVal").val();

需要對value值進行判斷(型別三)

有時候,資料庫獲取的值是int型,但是頁面顯示的值卻是String型別,反正就是各種奇葩,兩種不同的值,第一想法是判斷。對,就是判斷,沒錯!!!
這裡是js

 <select class="form-control" name="orgName" id="checke_val">

 </select>

上面 這裡不需要你寫任何option標籤,當然也可以像前面寫上也可以,如果寫了後面就不用寫了

ajax 程式碼塊
window.onload=function(){
           $.ajax({
                type:"post",
                async:false,
                url:"${webroot}/admin/listType",
                dataType:"json",
                data: {
                     warehouse: $("#checke_val").val(),
                 },
                success:function(rdata){
                   $("#checke_val").append($("<option value=''>全部</option>"));
                    var str="";
                    for(var i=0;i<rdata.length;i++){
                          if(rdata[i].isLottery==1){
                            str="已中獎";
                          }else if(rdata[i].isLottery==0){
                            str="未中獎";
                          }
                     $("#checke_val").append("<option value="+rdata[i].isLottery+">"+str+"</option>");
                    }  
                }
           });
        }   

以上是我個人學到技術的分享,以後有好的技術還會繼續分享出來!!!