欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Jquery判斷form表單數(shù)據(jù)是否變化

 更新時間:2016年03月30日 15:19:58   作者:于劉大蝦  
這篇文章主要為大家詳細(xì)介紹了Jquery判斷form表單數(shù)據(jù)是否變化的方法,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Jquery判斷form表單數(shù)據(jù)是否變化的三大步驟,供大家參考,具體內(nèi)容如下

1、思路為:修改時點擊一行datagrid,并進(jìn)行頁面跳轉(zhuǎn)數(shù)據(jù)綁定,在提交form時,序列號form表單,并重新獲取datagrid選中的行數(shù)據(jù),進(jìn)行數(shù)據(jù)比較。</span> 

/** 
 * 判斷form內(nèi)屬性值是否被修改 
 * 
 * @param jsonForm 對應(yīng)修改的form序列化后的json數(shù)據(jù) 
 * @param row 對應(yīng)datagrid選中的數(shù)據(jù)源 
 * 
 * @Return true 存在修改項 
 *     false 不存在修改項 
 */ 
isModified:function(jsonForm,row){ 
  for(key in jsonForm){ 
    //form中存在,但數(shù)據(jù)源datagrid中不存在 
    if(row[key] == undefined){ 
      continue; 
    } 
    //form中""或null,但數(shù)據(jù)源datagrid中為null或""時,不進(jìn)行比較 
    if(!((jsonForm[key] == null || jsonForm[key] == '') && (row[key] == null || row[key] == ''))){ 
      //如果值不同,則返回true 
      if(jsonForm[key] != row[key]) 
        return true; 
    } 
  } 
  return false; 
} 

2、獲取變化的值前后變化信息,由于項目需要記錄值變更記錄,并保存column中英文信息,如下:

/** 
   * 獲取form被修改信息 
   * 
   * @param jsonForm 對應(yīng)修改的form序列化后的json數(shù)據(jù) 
   * @param row 對應(yīng)datagrid選中的數(shù)據(jù)源 
   * @param columnJSModel 為表單form中name屬性中英對照js,需在update.jsp中引用此js文件 
   * 
   * @Return json 數(shù)據(jù)如:[{"updateColumn":"loanRatio","updateColName":"額比例","updateContent":"由11變更為100.00"}, 
   *     {"updateColumn":"loanQuotaTypeName","updateColName":"比例形式","updateContent":"由 卡 變更為 實物"}] 
   * 
   */ 
  getModifiedField:function(jsonForm,row,columnJSModel){ 
    var modifiedArry = []; 
    var jsonArrStr = ''; 
    for(key in jsonForm){ 
      //form中存在,但數(shù)據(jù)源datagrid中不存在 
      if(row[key] == undefined){ 
        continue; 
      } 
      //form中""或null,但數(shù)據(jù)源datagrid中為null或""時,不進(jìn)行比較 
      if(!((jsonForm[key] == null || jsonForm[key] == '') && (row[key] == null || row[key] == ''))){ 
        //如果值不同,則返回true 
        if(jsonForm[key] != row[key]){ 
          var jsonObj = {}; 
           
          jsonObj.updateColumn = key; 
          jsonObj.updateColName = columnJSModel[key]; 
          jsonObj.updateContent = '由'+ row[key] + '變更為' + jsonForm[key]; 
           
          modifiedArry[modifiedArry.length] = jsonObj; 
        } 
      } 
    } 
    jsonArrStr = JSON.stringify(modifiedArry); 
    //console.log(jsonArrStr); 
    return jsonArrStr; 
  } 

3、其中的columnJSModel為中英對照J(rèn)S實體,ratio、qutaTypeName分別對應(yīng)form中的name屬性名,如下:

var policyColumn = { 
     
    ratio : '比例', 
    quotaTypeName : '比例形式' 
     
}; 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

最新評論