1. 程式人生 > >jquery批量設定和獲取表單資料

jquery批量設定和獲取表單資料

大家在獲取表單資料和給表單賦值的時候是否也會像下面這樣寫:
這裡寫圖片描述
要是表單很長的話真是要淚奔。。。
有人說獲取資料可以給jquery新增serializeObject方法:

**
 * 表單序列化為json物件
 * 用法:var savaData = $('#Form').serializeObject();
 */
$.fn.serializeObject = function () {
  var o = {};
  var a = this.serializeArray();
  $.each(a, function () {
    if (o[this.name] !== undefined) {
      if (!o[this.name].push) {
        o[this.name] = [o[this.name]];
      }
      o[this.name].push(this.value || '');
    } else {
      o[this.name] = this.value || '';
    }
  });
  return o;
};

但是有個問題就是serializeArray() 這個方法是會忽略disabled="disabled" 表單元素。
自己花了些時間整理了以下方法:

注意:要保證name 值和datakey 值對應

/**
 * 表單賦值
 * @param data
 * 用法:$('#Form').serializeObject(data);
 */
$.fn.setFormData = function (data) {
  for (var key in data) {
    var $this = this;
    var $tag = $this.find('[name='
+ key + ']'); if ($tag.length > 1 ) { $tag.prop('checked',false); if(data[key]){ var item = data[key].split(','); $.each(item, function (i, val) { var $curTag = $this.find('[name=' + key + '][value=' + val + ']'); $curTag.prop('checked', true); }) } } else
{ $tag.val(data[key]) } } }; /** * 獲取表單值 * @returns {{}} * 用法:var savaData = $('#Form').getFormData(); */ $.fn.getFormData = function () { var obj = {}; var $tags = this.find('[name]'); $tags.each(function () { var key = $(this).attr('name'); if (obj.hasOwnProperty(key) && $(this).is(':checked')) { obj[key] = obj[key] + ',' + $(this).val();//checkebox的值是‘aa,bb,cc’這樣的格式,要陣列的自行修改 return true ; } var isCheck= $(this).is(function(){ var type = $(this).attr('type'); return type =='checkbox' || type =='radio' }); if(isCheck){ if($(this).is(':checked')){ obj[key] = $(this).val(); } return true; }else{ obj[key] = $(this).val(); } }); return obj; };

相關推薦

jquery批量設定獲取資料

大家在獲取表單資料和給表單賦值的時候是否也會像下面這樣寫: 要是表單很長的話真是要淚奔。。。 有人說獲取資料可以給jquery新增serializeObject方法: ** * 表單序列

Servlet 通過上傳檔案獲取資料的最簡單方式

注意:本文所描述的方法需要Servlet 3.0 及以上版本的支援。 一、伺服器端Servlet程式碼: import javax.servlet.ServletException; imp

struts2 獲取資料封裝到listmap集合

一、獲取封裝表單資料到list集合示例獲取使用者輸入的使用者名稱和密碼並輸出使用者名稱。jsp頁面list[0]表示list中的第一個user物件Java程式碼二、封裝表單資料到map集合示例獲取使用者輸入的使用者名稱和密碼並輸出使用者名稱。jsp頁面'one'是map的ke

Struts2總結---獲取資料封裝到listmap集合 (11)

一、獲取封裝表單資料到list集合 示例 獲取使用者輸入的使用者名稱和密碼並輸出使用者名稱。 jsp頁面 list[0]表示list中的第一個user物件 Java程式碼 二、封裝表單資料到map集合 示例 獲取使用者輸入的使用者名稱和密碼並輸出使用者名稱。 jsp頁面 'one'是map的key通過

小程式學習之旅----元件 button checkbox form input label radio slider switch textarea 獲取資料

<view class='input'> <input placeholder="請輸入內容1" confirm-type="done" type='text' focus="true" bindinput='doInput'/> </view> <

Struts2框架自學之路——Action獲取資料的方式以及資料的封裝

目錄   Action獲取表單資料的方式 通過ActionContext類獲取 使用ServletActionContext類獲取 通過特定介面訪問 在Action中操作域物件 Action中原始方式封裝表單資料 Struts2中表單資料的封裝 屬性封裝

Struts2_day02---結果頁面配置、獲取資料、封裝資料到集合

一、 結果頁面配置 (1)區域性結果頁面 1)對每個action進行單獨配置。 2)在<action>內部配置 (2)全域性結果頁面 :統一配置多個action 作用:使多個具有相同返回值的action返回到相同頁面 優點:統一配置,減少程式碼量

struts2中模型化獲取資料

             class屬性:action全路徑,對應伺服器的路徑             method屬性:action裡面預設執行的方法execute

獲取資料(二)

<%@ page contentType="text/html;charset=gb2312"%> <%! public String codeToString(String str) {//處理中文字串的函式   String s=str;

easyui form.restclear 重置清除資料區別

easyui中的一般我們在新增和編輯的時候 都是用一個form表單 那新增的時候 需要重置下表單內容,一般用 $('#EditForm').form('reset'); 大部分時候沒問題,但是如果表單中有隱藏控制元件 hidden或者非easyui標記的input控制

java學習路程(javaEE)之獲取資料獲取引數、request域、會話技術(Cookie)

一.獲取表單資料 //設定瀏覽器資料格式 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcept

servlet獲取資料

1.sevlet獲取表單資料 在很多的情況下,我們需要在瀏覽器,Web伺服器和後臺程式之間傳遞資料。瀏覽器使用兩種方法可將這些資訊傳遞到Web伺服器,分別為Get方法和Post方法。 2.Get方法,Post方法 get方法:GET方法是預設的從瀏覽器向Web伺服器傳遞

Java Web獲取資料

1、 表單,是一種可以由使用者輸入,並提交給伺服器端的一個圖形介面,有如下性質: (1)表單中可以輸入一些內容,這些輸入功能由控制元件提供,叫做表單元素 (2)表單中一般都有一個按鈕負責提交 (3)單擊提交按鈕,表單元素中的內容會自動提交給伺服器端 (4)

Django 獲取資料

       能搜尋次問題就說明您對Django的基本配置views的基本寫法有所瞭解我就其他方面的做過都的描述了。 表單的基本資料型別 text、password、radio、checkbox、emai

微信小程式獲取資料

最簡單的方式我們呼叫bindinput方法 當鍵盤進行輸入的時候會觸發input的事件 “` bindValue (e) { //value就是表單中的資料 let value = e.detail.value; }

Servlet的5種方式實現提交(註冊小功能),後臺獲取資料

用servlet實現一個註冊的小功能 ,後臺獲取資料。 註冊頁面:    註冊頁面程式碼 : <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title&g

servlet之獲取資料

1.寫一個.java檔案——實體類(用於儲存表單資料) 假設是一個使用者註冊的表單,那麼就要寫一個user.java。它的屬性要和能從表單上獲得的資料進行對應。 2.寫html表單,並使用action將表單提交至對應對映地址 關於表單的介紹可

jQuery使用serializeArray()方法取得資料並附加json資料

一、serialize()方法1、格式var data = $("form").serialize();2、功能將表單內容序列化成一個字串。3、返回結果username=forrest&

layui怎麼獲取資料

獲取form中的資料: jsp: <form class="layui-form"> <button id="btnSubmit" lay-filter="btnSubmit" lay-submit>儲存</button> </form>

request獲取資料

在servlet中獲取前臺傳來的資料,我們通常用的是request.getParameter("")來進行獲取值然而還有其他的獲取方法,下面開始介紹         1.request.getInputStream()        2.request.getReader()