其中遇到的难处有增加,删除行,删除一行时,行数动态改变.代码如下:
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ include file="/askmanage/tag.jsp"%>
<%@ include file="/askmanage/verify.jsp"%>
<html>
<head>
<%@ include file="/askmanage/cssjs.jsp"%>
<style type="text/css">
<!--
.STYLE1 {font-size: 16pt;cursor:hand;color:red}
-->
</style>
</head>
<body>
<table class="conPlan">
<tr>
<td><input type="button" onClick="toSave()" value="保存"></td>
<td><input type="button" onClick="window.close()" value="关闭"></td>
</tr>
</table>
<table width="900" class="freePlan">
<tr>
<td>课程名称</td>
<td>${mainBean.kcmc }</td>
<td>预计执行日</td>
<td>${mainBean.yjzxr }</td>
<td>预估毛利</td>
<td>${mainBean.yjml }</td>
</tr>
<tr>
<td>预估收入</td>
<td>${mainBean.yjsr }</td>
<td>预估时数</td>
<td>${mainBean.yjss }</td>
<td>预计天数</td>
<td>${mainBean.yjts }</td>
</tr>
</table>
<html:form action="/za/t_za_pxxqSave.shtml" method="post">
<input type="hidden" name="surl" value="/za/pxxq.shtml?action=edit&zaid=${zaid }">
<logic:equal name="mainBean" value="">
<input type="hidden" name="action" value="create" />
<input type="hidden" name="czlb" value="1"/>
</logic:equal>
<logic:notEqual name="mainBean" value="">
<input type="hidden" name="action" value="create" />
<input type="hidden" name="czlb" value="1"/>
</logic:notEqual>
<html:hidden property="zaid" value="${zaid }"/>
<html:hidden property="bdid" value="A0104"/>
<html:hidden property="cj_compid" value="${ASK123.compid }"/>
<html:hidden property="cj_deptid" value="${ASK123.deptid }"/>
<html:hidden property="cj_userid" value="${ASK123.userid }"/>
<html:hidden property="cj_userxm" value="${ASK123.username }"/>
<html:hidden property="cj_cjsj"/>
<html:hidden property="id"/>
<table width="900" class="freePlan">
<tr class="group">
<td colspan="5">客户预算</td>
</tr>
<tr>
<td> </td>
<td><input type="text" name="khys_xs" size="10" maxlength="100" ctype="number"
value="${list[0].khys_xs }">
元/小时</td>
<td><input type="text" name="khys_ts" size="10" maxlength="100" ctype="number"
value="${list[0].khys_ts }">
元/天</td>
<td><input type="text" name="khys_mc" size="10" maxlength="100" ctype="number"
value="${list[0].khys_mc }">
元/次</td>
<td><select name="khys" style="width:100px">
<option value="">---暂未定---</option>
<option value="10000以下" ${list[0].khys eq "10000以下" ?"selected":""}>10000以下</option>
<option value="10000-12000" ${list[0].khys eq "10000-12000" ?"selected":""}>10000-12000</option>
<option value="12000-15000" ${list[0].khys eq "12000-15000" ?"selected":""}>12000-15000</option>
<option value="15000-20000" ${list[0].khys eq "15000-20000" ?"selected":""}>15000-20000</option>
<option value="20000以上" ${list[0].khys eq "20000以上" ?"selected":""}>20000以上</option>
</select>
(元) </td>
</tr>
<tr class="group">
<td colspan="5">时间安排习惯</td>
</tr>
<tr>
<td> </td>
<td> 是否可变
<select name="sjap_bd" style="width:100px">
<option value="" ${list[0].sjap_bd eq "" ?"selected":""}>---暂未定---</option>
<option value="可变动" ${list[0].sjap_bd eq "可变动" ?"selected":""}>可变动</option>
<option value="不可变动" ${list[0].sjap_bd eq "不可变动" ?"selected":""}>不可变动</option>
</select></td>
<td>一周安排
<select name="sjap_xq" style="width:100px">
<option value="" ${list[0].sjap_xq eq "" ?"selected":""}>---暂未定---</option>
<option value="周一至周五,白天" ${list[0].sjap_xq eq "周一至周五,白天" ?"selected":""}>周一至周五,白天</option>
<option value="周一至周五,晚上" ${list[0].sjap_xq eq "周一至周五,晚上" ?"selected":""}>周一至周五,晚上</option>
<option value="周五至周六" ${list[0].sjap_xq eq "周五至周六" ?"selected":""}>周五至周六</option>
<option value="周六至周日" ${list[0].sjap_xq eq "周六至周日" ?"selected":""}>周六至周日</option>
</select> </td>
<td colspan="2">其他<input type="text" name="sjap_qt" size="20" maxlength="100" value="${list[0].sjap_qt }"></td>
</tr>
<tr>
<td> </td>
<td>是否一天完成
<select name="sjap_mt" style="width:100px">
<option value="" ${list[0].sjap_mt eq "" ?"selected":""}>---暂未定---</option>
<option value="须在同一天完成" ${list[0].sjap_mt eq "须在同一天完成" ?"selected":""}>须在同一天完成</option>
<option value="须在不同天完成" ${list[0].sjap_mt eq "须在不同天完成" ?"selected":""}>须在不同天完成</option>
<option value="须照顺序" ${list[0].sjap_mt eq "须照顺序" ?"selected":""}>须照顺序</option>
<option value="不须照顺序" ${list[0].sjap_mt eq "不须照顺序" ?"selected":""}>不须照顺序日</option>
</select> </td>
<td> 连续性
<select name="sjap_lx" style="width:100px">
<option value="" ${list[0].sjap_lx eq "" ?"selected":""}>---暂未定---</option>
<option value="可以连续上" ${list[0].sjap_lx eq "可以连续上" ?"selected":""}>可以连续上</option>
<option value="需有间隔" ${list[0].sjap_lx eq "需有间隔" ?"selected":""}>需有间隔</option>
</select> </td>
<td colspan="2">间隔范围
<input type="text" name="sjap_lx_sz" size="10" maxlength="4" ctype="number" value="${list[0].sjap_lx_sz }">
天</td>
</tr>
<tr class="group">
<td colspan="5">讲师及上课对象</td>
</tr>
<tr>
<td> </td>
<td>讲师人选重复
<select name="jscfx" style="width:100px">
<option value="" ${list[0].jscfx eq "" ?"selected":""}>---暂未定---</option>
<option value="可重复" ${list[0].jscfx eq "可重复" ?"selected":""}>可重复</option>
<option value="不重复" ${list[0].jscfx eq "不重复" ?"selected":""}>不重复</option>
</select> </td>
<td>上课对象重复</td>
<td><select name="dxcfx" style="width:100px">
<option value="" ${list[0].dxcfx eq "" ?"selected":""}>---暂未定---</option>
<option value="同一批" ${list[0].dxcfx eq "同一批" ?"selected":""}>同一批</option>
<option value="重复性大于50%" ${list[0].dxcfx eq "重复性大于50%" ?"selected":""}>重复性大于50%</option>
<option value="重复性小于50%" ${list[0].dxcfx eq "重复性小于50%" ?"selected":""}>重复性小于50%</option>
<option value="完全不同" ${list[0].dxcfx eq "完全不同" ?"selected":""}>完全不同</option>
</select>
</td>
</tr>
</table>
<table width="900" class="freePlan" id="kcadd" >
<logic:empty name="list">
<tr>
<td>${ix+1 }
<input type="hidden" id="bzbz${ix+1 }" name="bzbz" value="${ix+1 }">
</td>
<td>课程名称<input id="kcmc${ix+1 }" maxlength="100" size="20" name=kcmc request="true" value="${one.kcmc}"></td>
<td>预计讲师<input id="yjjs${ix+1 }" maxlength="100" size="20" name=yjjs value="${one.yjjs}"></td>
<td>预计日期<input id="yjzxr${ix+1 }" name="yjzxr" size="10" type="text" class="Dinput" ctype="date" value="${one.yjzxr }" onClick="event.cancelBubble=true;showCalendar('yjzxr${ix+1 }',false,'yjzxr${ix+1 }')"></td>
<td>共<input id="yjss_ts${ix+1 }" maxlength="5" size="3" name=yjss_ts ctype="number" value="${one.yjss_ts}">天
共<input id="yjss_xs${ix+1 }" maxlength="5" size="3" name=yjss_xs ctype="number" value="${one.yjss_xs}">小时
<input id="yjss_mt${ix+1 }" maxlength="5" size="3" name=yjss_mt ctype="number" value="${one.yjss_mt}">小时/天</td>
</tr>
</logic:empty>
<logic:iterate id="one" name="list" indexId="ix">
<tr>
<td>${ix+1 }</td>
<td>课程名称<input id="kcmc${ix+1 }" maxlength="100" size="20" name=kcmc request="true" value="${one.kcmc}"></td>
<td>预计讲师<input id="yjjs${ix+1 }" maxlength="100" size="20" name=yjjs value="${one.yjjs}"></td>
<td>预计日期<input id="yjzxr${ix+1 }" name="yjzxr" size="10" type="text" class="Dinput" ctype="date" value="${one.yjzxr }" onClick="event.cancelBubble=true;showCalendar('yjzxr${ix+1 }',false,'yjzxr${ix+1 }')"></td>
<td>共<input id="yjss_ts${ix+1 }" maxlength="5" size="3" name=yjss_ts ctype="number" value="${one.yjss_ts}">天,共<input id="yjss_xs${ix+1 }" maxlength="5" size="3" name=yjss_xs ctype="number" value="${one.yjss_xs}">小时,<input id="yjss_mt${ix+1 }" maxlength="5" size="3" name=yjss_mt ctype="number" value="${one.yjss_mt}">小时/天<a title='删除此课程' onClick='delKc()'><span class='STYLE1'>-</span></a></td>
</tr>
</logic:iterate>
</table>
<table width="900" border="0">
<tr>
<td align="right">
<a title="增加课程" onClick="addTable()"><span class='STYLE1'>+</span></a>
</td>
</tr>
</table>
</html:form>
<table width="900">
<tr><td width="200"> </td>
<td align="center">
<input name="button3" type="button" class="ButtonBL" onClick="toSave()" value=" 保 存 ">
</td>
<td colspan="2" align="center">
<input type="button" class="ButtonBL" onClick="window.close()" value=" 关 闭 ">
</td>
<td width="200"> </td>
</tr>
</table>
<div class="Fback">
<div id="Ftext">
<ul>
<h5>友情提醒:</h5>
<li>1、带<span class="redStar">*</span>为必填项。</li>
</ul>
</div>
</div>
</body>
<script type="text/javascript">
function toSave(){
if(!checkForm("t_za_pxxqForm")){
return;
}
document.t_za_pxxqForm.submit();
}
function addTable() {
if(!checkForm("t_za_pxxqForm")){
return;
}
var nrow=$("kcadd").rows.length;
var row=$("kcadd").insertRow(nrow);
row.insertCell(0).innerHTML=nrow+1;
i = parseInt(nrow)+1; //让预计日期的ID随机,不重复
var rand=parseInt(Math.random()*1000);
row.insertCell(1).innerHTML="课程名称<input type='text' name='kcmc' size='20' maxlength='100' request='true'>";
row.insertCell(2).innerHTML="预计讲师<input type='text' name='yjjs' size='20' maxlength='100'>";
row.insertCell(3).innerHTML="预计日期<input type='text' id='yjzxr"+ i+rand +"' name='yjzxr' size='10' class='Dinput' onClick=event.cancelBubble=true;showCalendar('yjzxr"+ i+rand +"',false,'yjzxr"+ i+rand +"') readonly='true'>";
row.insertCell(4).innerHTML="共<input type='text' name='yjss_ts' size='3' maxlength='5' ctype='number'>"+
"天,共<input type='text' name='yjss_xs' size='3' maxlength='5' ctype='number'>"+
"小时,<input type='text' name='yjss_mt' size='3' maxlength='5' ctype='number'>小时/天"+
"<input type='hidden' id='bzbz"+ i +"' name='bzbz' value='"+ i +"'> <a title='删除此课程' onClick='delKc()'><span class='STYLE1'>-</span></a>";
}
function delKc(){
var nrow=$("kcadd").rows.length;
if(nrow<=1){
alert("最少有一个课程");
return ;
}
event.cancelBubble=true;
with (event.srcElement.parentElement.parentElement.parentElement) {
if (tagName.toLowerCase()=="tr") $("kcadd").deleteRow(rowIndex);
}
for(var i=0;i<$("kcadd").rows.length;i++){
var row=$("kcadd").rows[i];
row.cells[0].innerHTML=i+1;
}
}
</script>
</html>