jQuery通過ajax獲得後台json資料給form表單賦值

來源:互聯網
上載者:User

標籤:jquery   javascript   ajax   json   easyui   

jQuery提供了load方法可以將資料載入到頁面form表單中,但有時候我需要擷取後台json資料中某個值時,又需要賦值整個form表單,load方法沒有回呼函數所以就不行了,如果用ajax調用的話,獲得後台json資料後把json資料分析出來在一個個的賦值到form表單的每個文字框中,這樣未免太過複雜和太多代碼,所以我根據了一些大神的回答,總結了一個很好用的jQuery函數。

jQuery-load方法調用:

$(‘#form‘).form(‘load‘,URL);


頁面表單:

<span style="font-size:18px;"><form id="form" action="system/info/area_operate.html" method="post" class="default">    <input type="text" name="area_name" readOnly/>       <input type="text" name="name"/><select id="type" name="type" ><option value="1">門店</option><option value="2">總部</option></select>           <textarea class="easyui-validatebox" name="remark" cols="40" rows="5" required="false"></textarea></form></span>

總結的方法:

頁面調用:

<span style="font-size:18px;"><script><span style="white-space:pre"></span>$.getJSON(URL,param,function(data){<span style="white-space:pre"></span>alert(data.type);<span style="white-space:pre"></span>$("form").setForm(data);});</script></span>

把下面這段代碼放入到jQuery中取

<span style="font-size:18px;">$.fn.setForm = function(jsonValue) {    alert("setForm");    var obj=this;    $.each(jsonValue, function (name, ival) {    var $oinput = obj.find("input:[name=" + name + "]");     if ($oinput.attr("type")== "radio" || $oinput.attr("type")== "checkbox"){     $oinput.each(function(){                 if(Object.prototype.toString.apply(ival) == '[object Array]'){//是複選框,並且是數組                      for(var i=0;i<ival.length;i++){                          if($(this).val()==ival[i])                             $(this).attr("checked", "checked");                      }      }else{                     if($(this).val()==ival)                        $(this).attr("checked", "checked");                 }             });    }else if($oinput.attr("type")== "textarea"){//多行文字框    obj.find("[name="+name+"]").html(ival);    }else{             obj.find("[name="+name+"]").val(ival);         }   });};</span>

注意頁面啟動ajax方法,然後這樣就可以通過ajax拿到自己想要的值,又可以將值全部賦值到form表單中了。

看了之後有木有感覺很有愛啊。







jQuery通過ajax獲得後台json資料給form表單賦值

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.