Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der jQuery-Implementierung bearbeitbarer Tabellen und der Generierung von JSON-Ergebnissen

Detaillierte Erläuterung der jQuery-Implementierung bearbeitbarer Tabellen und der Generierung von JSON-Ergebnissen

小云云
小云云Original
2017-12-31 16:38:531698Durchsuche

In diesem Artikel wird hauptsächlich JQuery zum Implementieren bearbeitbarer Tabellen und zum Generieren von JSON-Ergebnissen vorgestellt. Die Code-Analyse- und Ladefunktionen werden mit Front-End-JS implementiert, was die Back-End-Codelogik vereinfacht Wer es braucht, kann sich hoffentlich darauf beziehen.

Der Implementierungseffekt ist wie folgt: Beim Bearbeiten des Formulars kann der JSON-Inhalt automatisch geändert werden. Klicken Sie auf „Senden“, um ihn im Hintergrund zu speichern Der Inhalt wird geladen. Die Funktionen zum Parsen und Laden des Codes werden mithilfe von Front-End-JS implementiert, was die Back-End-Codelogik vereinfacht.

Definieren Sie den zu bedienenden Tabellenkopf:


<input readonly="readonly" class="form-control" type="text" id="scorerange" value="" name="scorerange"/> 
                      <table id="mytable"> 
                          <tr> 
                            <th style="width: 20%;">分数区间</th><th style="width:20%;">等级</th><th style="width:60%;">建议内容</th><th></th> 
                       </tr> 
                         <!--                         <tr><td><input onblur="caljson()" type="text" style="width: 50px;" >-<input type="text" style="width: 50px;" /></td> 
                          <td><input onblur="caljson()" type="text" style="width: 100%;" ></td> 
                          <td><input onblur="caljson()" id="btn1" type="button" onclick="$(this).parent().parent().remove()" value="删除" /></td></tr>                        -->                       </table>

Definieren Sie den Operationscode


function insertRowLast(newrow,s1,s2,s3,s4) { 
  if(newrow){ 
    var newRow = "<tr><td><input onblur=\"caljson()\" value=\"0\" type=\"text\" style=\"width: 50px;\" >-<input value=\"0\" type=\"text\" style=\"width: 50px;\" /></td>"; 
    newRow+="<td><input  onblur=\"caljson()\"  type=\"text\" style=\"width: 50px;\" ></td>"; 
    newRow+="<td><input maxlength=\"24\" onblur=\"caljson()\"  type=\"text\" style=\"width: 100%;\" ></td>"; 
    newRow+="<td><input  onblur=\"caljson()\"  id=\"btn1\" type=\"button\" onclick=\"$(this).parent().parent().remove();caljson();\" value=\"删除\" /></td></tr>"; 
    $("#mytable tr:last").after(newRow); 
  }else{ 
    var newRow = "<tr><td><input value=\""+s1+"\" onblur=\"caljson()\" type=\"text\" style=\"width: 50px;\" >-<input value=\""+s2+"\" type=\"text\" style=\"width: 50px;\" /></td>"; 
    newRow+="<td><input value=\""+s4+"\"  onblur=\"caljson()\"  type=\"text\" style=\"width: 50px;\" ></td>"; 
    newRow+="<td><input maxlength=\"24\" value=\""+s3+"\"  onblur=\"caljson()\"  type=\"text\" style=\"width: 100%;\" ></td>"; 
    newRow+="<td><input  onblur=\"caljson()\"  id=\"btn1\" type=\"button\" onclick=\"$(this).parent().parent().remove();caljson();\" value=\"删除\" /></td></tr>"; 
    $("#mytable tr:last").after(newRow); 
  } 
  caljson(); 
} 
var json=""; 
function caljson(){ 
 json="{\"scorerange\":["; 
 var idx = 0;  
 var idxlen = $("#mytable").find("tr").length; 
 $("#mytable").find("tr").each(function () { 
  if(idx==0){ 
  idx++; 
    return; 
  } 
  var tdArr = $(this).children(); 
  var v1 = tdArr.eq(0).find(&#39;input&#39;).eq(0).val(); 
  var v2 = tdArr.eq(0).find(&#39;input&#39;).eq(1).val(); 
  var v3 = tdArr.eq(2).find(&#39;input&#39;).val(); 
  var v4 = tdArr.eq(1).find(&#39;input&#39;).val(); 
  json+="{\"s1\":\""+v1+"\",\"s2\":\""+v2+"\",\"content\":\""+v3+"\",\"classg\":\""+v4+"\"}"; 
  idx++; 
  if(idx!=idxlen){ 
  json+=","; 
  } 
}); 
json+="]}"; 
$("#scorerange").val(json); 
//alert($("#scorerange").val()); 
} 
//alert(1); 
//alert($("#scorerange").val()); 
var dataObj=eval("($!{tbscence.scorerange})"); 
if(dataObj && dataObj.scorerange){ 
 //alert(dataObj.scorerange.length); 
 for(var i=0;i<dataObj.scorerange.length;i++){ 
  var s1 = dataObj.scorerange[i].s1; 
  var s2 = dataObj.scorerange[i].s2; 
  var s3 = dataObj.scorerange[i].content; 
  var s4 = dataObj.scorerange[i].classg; 
  //alert(s1+" "+s2+" "+s3); 
  insertRowLast(false,s1,s2,s3,s4); 
 } 
}else{ 
 insertRowLast(true,0,0,0,0); 
}

Verwandte Empfehlungen:

jQuery implementiert Schritt für Schritt browserübergreifend bearbeitbare Tabellen und unterstützt IE, Firefox, Safari, Chrome, Opera_jquery

Verwenden Sie Jquery, um bearbeitbare Tabellen zu implementieren, und verwenden Sie AJAX, um sie an den Server zu senden, um data_jquery zu ändern

jQuery (nicht HTML5) bearbeitbarer Tabellenimplementierungscode_jquery

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der jQuery-Implementierung bearbeitbarer Tabellen und der Generierung von JSON-Ergebnissen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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