Heim >Web-Frontend >js-Tutorial >Jquery bestimmt, ob sich die Formulardaten geändert haben_jquery

Jquery bestimmt, ob sich die Formulardaten geändert haben_jquery

WBOY
WBOYOriginal
2016-05-16 15:07:272290Durchsuche

Das Beispiel in diesem Artikel beschreibt die drei Hauptschritte für Jquery, um zu Ihrer Referenz festzustellen, ob sich die Formulardaten geändert haben. Der spezifische Inhalt ist wie folgt:

1. Die Idee ist: Klicken Sie beim Ändern auf eine Zeile des Datagrids und führen Sie beim Senden des Formulars eine Seitensprung-Datenbindung durch und rufen Sie die ausgewählten Zeilendaten des Datagrids erneut ab , und führen Sie einen Datenvergleich durch. 54bdf357c58b8a65c66d7c19c8e4d114

/** 
 * 判断form内属性值是否被修改 
 * 
 * @param jsonForm 对应修改的form序列化后的json数据 
 * @param row 对应datagrid选中的数据源 
 * 
 * @Return true 存在修改项 
 *     false 不存在修改项 
 */ 
isModified:function(jsonForm,row){ 
  for(key in jsonForm){ 
    //form中存在,但数据源datagrid中不存在 
    if(row[key] == undefined){ 
      continue; 
    } 
    //form中""或null,但数据源datagrid中为null或""时,不进行比较 
    if(!((jsonForm[key] == null || jsonForm[key] == '') && (row[key] == null || row[key] == ''))){ 
      //如果值不同,则返回true 
      if(jsonForm[key] != row[key]) 
        return true; 
    } 
  } 
  return false; 
} 
2. Rufen Sie die Änderungsinformationen vor und nach dem geänderten Wert ab, da das Projekt den Wertänderungsdatensatz aufzeichnen und die chinesischen und englischen Informationen der Spalte wie folgt speichern muss:


/** 
   * 获取form被修改信息 
   * 
   * @param jsonForm 对应修改的form序列化后的json数据 
   * @param row 对应datagrid选中的数据源 
   * @param columnJSModel 为表单form中name属性中英对照js,需在update.jsp中引用此js文件 
   * 
   * @Return json 数据如:[{"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中存在,但数据源datagrid中不存在 
      if(row[key] == undefined){ 
        continue; 
      } 
      //form中""或null,但数据源datagrid中为null或""时,不进行比较 
      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. Das ColumnJSModel ist eine chinesisch-englische JS-Entität, und ratio und qutaTypeName entsprechen dem Namensattributnamen in der folgenden Form:


var policyColumn = { 
     
    ratio : '比例', 
    quotaTypeName : '比例形式' 
     
}; 
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn