亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jquery對table中各數據的增加、保存、刪除操作示例

2019-11-20 15:23:45
字體:
來源:轉載
供稿:網友

 
像這種頁面,我們往往不是通過提交表單來處理這些數據,因為如果在后臺去遍歷處理這些大量的數據是非常繁瑣的;比較好的做法是在前臺頁面中將數據以對象形式保存在json中,然后在后臺直接將json轉換成我們需要的對象,這樣我們的直接可以處理對象了!

添加按鈕

復制代碼 代碼如下:

<input name="button" type="button" value="添加" onClick="addRowForPswdBasicFillTemplate('pswd_basic_fill_template')">

table id是pswd_basic_fill_template
添加方法
復制代碼 代碼如下:

function addRowForPswdBasicFillTemplate(tid){
var applyAreaOptionStr = $('#applyAreaOptionStr').val(); //這里是對select框的一些初始化
did = tid;
var tr = $("<tr></tr>").attr("bgcolor","#FFFFFF");
tr.append($("<td></td>").html("<input type='radio' name='radio' value='checkbox'></td>"));
tr.append($("<td></td>").html(""));
tr.append($("<td></td>").html("<input type='text' name='index_name' id='index_name' />"));
tr.append($("<td></td>").html(""));
tr.append($("<td></td>").html("<select name='apply_Area' id='apply_Area'>"+applyAreaOptionStr+"</select>"));
tr.append($("<td></td>").html("<select name='index_species' id='index_species'>"+$("#indexSpeciesHtml").val()+"</select>"));
tr.append($("<td></td>").html("<textarea maxlength='500' rows='3' cols='20' name='formula' id='formula'/>"));
tr.append($("<td></td>").html("<input type='text' name='cap' id='cap' size='5'/>"));
tr.append($("<td></td>").html("<input type='text' name='base_value' id='base_value' size='5'/>"));
tr.append($("<td></td>").html("<input type='hidden' id='orgid' name='orgid' />
<select name='assessOrg' id='assessOrg'>"+$("#assessOrgHtml").val()+"</select>"));
tr.appendTo($("#"+tid));
setRowNumber_1(tid); //保存編號,上移下移操作會用到 ,先不關注
}

保存按鈕
復制代碼 代碼如下:

<input name="button" type="button" value="保存" onClick="savePswdBasicFillTemplate('pswd_basic_fill_template')">

保存方法
復制代碼 代碼如下:

function savePswdBasicFillTemplate(tid){
did = tid;
var result = getPswdBasicFillTemplate(); //封裝數據操作,請仔細看
if(result){
/*
if(pswd_basic_fill_template.length<1){
showInfo("請添加基礎數據標準");
return;
}
*/
for(var i=0;i<pswd_basic_fill_template.length;i++){
pswd_basic_fill_template[i]=JSON.stringify(pswd_basic_fill_template[i]);
}
$.post("<c:url value='/secbasicFillTemplate/save'/>",{"tempLateList":"["+pswd_basic_fill_template+"]"},
function(data) {
if("false"==data){
showInfo("請先保存基礎信息!");
}else{
//delAllTr("pswd_basic_fill_template"); //刪除行
showInfo("保存成功!")
if(did!="fjsjbz"){
changeTaskType(tid);
}
}
});
}
}
//基礎填報模版
var pswd_basic_fill_template = {};
//要刪除的tableId
var did = "pswd_basic_fill_template";
//獲取模板值
function getPswdBasicFillTemplate(){
pswd_basic_fill_template=[];
var trs=eval("$(/"#"+did + " tbody tr/")");
var result=true;
$.each(trs,function(i,tr){
var order = $(tr).find("td:nth-child(2)").text();
var indexCode = $(tr).find("input[name='index_code']").val();
var indexName = $(tr).find("input[name='index_name']").val();
var indexType = $(tr).find("select[name='index_type']").find("option:selected").text();
var indexSpecies = $(tr).find("select[name='index_species']").find("option:selected").text();
var formula = $(tr).find("textarea[name='formula']").val();
var cap = $(tr).find("input[name='cap']").val();
var baseValue = $(tr).find("input[name='base_value']").val();
var assessOrg = $(tr).find("select[name='assessOrg']").val();
var assessOrgName = $(tr).find("select[name='assessOrg']").find("option:selected").text();
var idObj = $(tr).find("input[name='idObj']").val();
var indexValue = $(tr).find("input[name='index_value']").val();
var templateType = "2";
if(did=="zdppbzlb"){
templateType = "3";
}else if(did=="fjsjbz"){
templateType = "4";
assessOrg = $(tr).find("select[name='countyOrg']").val();
}
var taskType = $("#task_type").val();
if(indexCode.length<1){
showInfo("指標名稱不能為空");
result = false;
return false;
}
if(indexName.length<1){
showInfo("指標代號不能為空");
result = false;
return false;
}
var postIndexId = $('#postIndex').val();
var postIndexName = $('#postIndex').find("option:selected").text();
var applyAreaId = $(tr).find("select[name='apply_Area']").val();
var applyAreaName = $(tr).find("select[name='apply_Area']").find("option:selected").text();
var pswd_basic_fill_templateBean={
"postIndexId":postIndexId,"postIndexName":postIndexName,"applyAreaId":applyAreaId,"applyAreaName":applyAreaName,
"indexCode":indexCode,"templateType":templateType,"indexValue":indexValue,
"indexName":indexName,"taskType":taskType,"order":order,"id":idObj,"baseValue":baseValue,
"indexSpecies":indexSpecies,"formula":formula,"cap":cap,"orgName":assessOrgName,"orgid":assessOrg
}
pswd_basic_fill_template.push(pswd_basic_fill_templateBean);
})
return result;
}
前臺的操作就完成了,下面看一看后臺的操作
struts配置文件
<method name="save" uri="/secbasicFillTemplate/save">
<result name="success" type="redirect">@list</result>
<result name="failed">secassessment/basicFillTemplate/basicFillTemplateNew</result>
</method>
后臺操作
public void save() {
String obj = request().getParameter("tempLateList");
List<SecBasicFillTemplate> result = JSonUtil.paserJsonArray(SecBasicFillTemplate.class,obj);
//將json轉化為對象
}
下面看看刪除操作
刪除按鈕 <input name="button" type="button" value="刪除" onClick="delRowForSpacialById('pswd_basic_fill_template')" >
//刪除一行的數據
function delRowForSpacialById(tid){
var selObj=getSelRowJnSpacial(tid);
if(selObj){
var result = confirm("確定將記錄刪除?");
if(result){
var id = selObj.parent().parent();
var idValue = id.find("input[name='idObj']").val();
if(idValue!=null && idValue.length>0){
$.post("<c:url value='/secbasicFillTemplate/delete'/>",{"ids":idValue},function(){
selObj.parent().parent().remove();
})
}else{
selObj.parent().parent().remove();
}
}
}
}
// 獲取選中的行
function getSelRowJnSpacial(tid){
var selObj=eval("$(/"#"+tid+" input[@type=radio][checked]/")");
if(selObj.html()!=null){
return selObj;
}else{
showInfo("請選擇要操作的行");
return null;
}
}
struts 配置文件
<method name="delete" uri="/secbasicFillTemplate/delete" >
<result name="success" type="redirect">@list</result>
</method>
后臺方法
public void delete(String ids) {
//方法
}
上移下移功能
按鈕
<input name="button" type="button" value="上移" onClick="moveBefore('pswd_basic_fill_template')">
<input name="button" type="button" value="下移" onClick="moveAfter('pswd_basic_fill_template')">
//上移行
function moveBefore(tid){
did =tid;
var selObj= $("input:radio[checked]");
if(selObj==null){
showInof("請選擇要移動的行");
}else{
var rowIndex = selObj.parent().parent()[0].rowIndex;
if(parseInt(rowIndex)<=2){
showInfo("已經到頂,不能再上移了");
return;
}
var preObj=selObj.parent().parent().prev();
var selRow=selObj.parent().parent().clone();
preObj.before(selRow);
selObj.parent().parent().remove();
setRowNumber_1_1(did);
}
}
function setRowNumber_1_1(tid){
var fNew = 1;
var expression="$(/"#"+tid+" tbody tr/")";
var tbody=eval(expression);
$.each(tbody,function(i,tr){
if(i>=0){
var number=i+1;
$(tr).find("td:nth-child(2)").text(number);
}
})
}
//下移行
function moveAfter(tid){
did =tid;
var selObj= $("input:radio[checked]");
if(selObj==null){
showInof("請選擇要移動的行");
}else{
var r1 = selObj.parent().parent()[0].rowIndex;
var a1 = eval("$(/"#"+did+" tbody tr/")").size();
if(parseInt(selObj.parent().parent()[0].rowIndex)-1 >= a1){
showInfo("已經到最后一行,不能再下移了");
return;
}
var nextObj=selObj.parent().parent().next();
var selRow=selObj.parent().parent().clone();
nextObj.after(selRow);
selObj.parent().parent().remove();
setRowNumber_1_1(tid);
}
}
//設置rowNumber的序號
function setRowNumber_1(tid){
var fNew = 1;
var expression="$(/"#"+tid+" tbody tr/")";
var tbody=eval(expression);
$.each(tbody,function(i,tr){
if(i>=0){
var idObj = $(tr).find("input[name='idObj']").val();
var f = $(tr).find("td:nth-child(4)").find("input[name='index_code']").val();
if(f!=null){
var f1 = f.substring(1);
if(f1>=0){
fNew = parseInt(f1)+1;
}
}
var number=i+1;
$(tr).find("td:nth-child(2)").text(number);
if(idObj==null && f==null){
var fValue = "<input id='index_code' name='index_code' value='F"+fNew+"' readonly='true' size='5'>";
if(tid=="zdppbzlb"){
fValue = "<input id='index_code' name='index_code' value='K"+fNew+"' readonly='true' size='5'>";
}
$(tr).find("td:nth-child(4)").html(fValue);
$(tr).find("td:nth-child(5)").html($("#selectHtml").val());
//var assessOrgHtml = "<input type='hidden' name='orgid' id='orgid'></input>"+$("#assessOrgHtml").val();
//$(tr).find("td:last-child").html(assessOrgHtml);
}
}
})
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久中文字幕| 一区二区欧美久久| 九九热这里只有在线精品视| 欧美大片网站在线观看| 超碰97人人做人人爱少妇| 亚洲天堂男人的天堂| 日韩欧美在线一区| 精品视频久久久久久| 久久视频在线看| 色偷偷91综合久久噜噜| 国产不卡在线观看| 日韩精品免费在线播放| 国产精品久久久久久av福利| 久久久国产精品视频| 国产精品成人av在线| 国产精品27p| 亚洲人午夜色婷婷| 国产精品第二页| 欧美成人三级视频网站| 在线电影中文日韩| 久久亚洲精品一区| 亚洲最大av在线| 国产精品久久久久久久久久东京| 狠狠躁夜夜躁人人躁婷婷91| 午夜精品一区二区三区在线播放| 中文字幕在线看视频国产欧美| 日韩一区二区三区在线播放| 欧美黑人xxx| 日韩资源在线观看| 亚洲精品日产aⅴ| 国产成人在线亚洲欧美| 久久久欧美一区二区| 亚洲成人精品在线| 国产精品久久久久久久久久小说| 日韩一区二区三区国产| 九九热视频这里只有精品| 91精品国产高清久久久久久91| 久久精品91久久香蕉加勒比| 国产精品久久久久7777婷婷| 国产香蕉精品视频一区二区三区| 国产一区二区三区在线观看视频| 91在线国产电影| 91精品国产777在线观看| 久久综合网hezyo| 欧美国产中文字幕| 日韩精品中文字幕在线观看| 亚洲美女在线视频| 一区二区三区四区精品| 国产精品一区二区三区成人| 亚洲午夜国产成人av电影男同| 国产精品一区电影| 奇米影视亚洲狠狠色| 超薄丝袜一区二区| 欧美在线一级va免费观看| 日韩精品中文字幕久久臀| 国产乱人伦真实精品视频| 日韩精品在线视频美女| 亚洲图片制服诱惑| 亚洲精品视频二区| 亚洲人成在线电影| 国产一区视频在线播放| 久热精品视频在线| 精品中文字幕在线观看| 久久精品免费电影| 久久久精品2019中文字幕神马| 91精品国产色综合久久不卡98| 中文字幕久久精品| 日韩免费在线播放| 欧美老女人性视频| 国产欧美精品va在线观看| 欧洲中文字幕国产精品| 97国产精品久久| 国产精品专区第二| 亚洲欧美精品伊人久久| 国产精品视频精品视频| 国产亚洲精品久久| 98午夜经典影视| 另类天堂视频在线观看| 中文字幕综合在线| 日本成人在线视频网址| 国产一区二区动漫| 亚洲欧美日本另类| 亚洲国产一区二区三区在线观看| 中文日韩在线视频| 伦伦影院午夜日韩欧美限制| 91精品久久久久久久久不口人| 欧美激情一区二区三区高清视频| 伊人久久精品视频| 日韩中文字幕免费视频| 国产精品欧美一区二区| 国产精品久久久av久久久| 亚洲午夜久久久影院| 日韩有码在线电影| 欧美精品18videosex性欧美| 欧美一级电影免费在线观看| 欧美又大又硬又粗bbbbb| 国产亚洲在线播放| 亚洲国产精品99| 久久香蕉频线观| 久久久亚洲成人| 日韩中文有码在线视频| 亚洲精品一区二区网址| 欧美成人精品不卡视频在线观看| 91视频88av| 色妞欧美日韩在线| 97超视频免费观看| 国产精品露脸av在线| 欧美午夜女人视频在线| 亚洲毛片在线观看| 亚洲美女在线视频| 欧美一乱一性一交一视频| 国产精品视频白浆免费视频| 欧美二区在线播放| 这里只有精品在线观看| 亚洲欧美变态国产另类| 国产午夜精品免费一区二区三区| 久久av资源网站| 精品久久久免费| 久久人人爽人人爽人人片av高清| 国产午夜一区二区| 这里只有精品久久| 国产日本欧美视频| 38少妇精品导航| 午夜精品久久久99热福利| 亚洲精品久久在线| 国内精品久久久久久中文字幕| 久久韩国免费视频| 国产精品极品尤物在线观看| 中文字幕亚洲色图| 国产精品视频资源| 尤物九九久久国产精品的特点| 日韩av中文在线| 国产精品白嫩美女在线观看| 国产美女久久精品| 国产噜噜噜噜噜久久久久久久久| 欧美电影在线免费观看网站| 精品国产福利在线| yellow中文字幕久久| 国产成人极品视频| 欧美巨乳美女视频| 色综合导航网站| 亚洲国产精品久久久久秋霞蜜臀| 久久精品亚洲94久久精品| 最近2019年中文视频免费在线观看| 国产亚洲精品综合一区91| 中文字幕无线精品亚洲乱码一区| 日韩一级裸体免费视频| 欧美日韩国产在线看| 日韩精品在线电影| 欧美激情视频播放| 成人激情电影一区二区| 亚洲精品国产电影| 97精品国产97久久久久久| 日韩av在线免费观看一区| 日韩经典中文字幕在线观看| 97在线精品国自产拍中文| 色偷偷偷亚洲综合网另类| 欧美成人黑人xx视频免费观看| 亚洲精品一区中文字幕乱码| 久热精品视频在线观看一区| 日韩av网站电影| 日韩黄色在线免费观看| 亚洲精品99久久久久| 日韩精品视频免费专区在线播放|