struts2(同一个jsp页面的传值)
在一个jsp页面里边有一个table是list,另一个form是任意选取一行list的记录(table和form的项目是相同的)。请问怎么能把list里任意选取的一行记录...
在一个jsp页面里边有一个table是list,另一个form是任意选取一行list的记录(table和form的项目是相同的)。 请问怎么能把list里任意选取的一行记录,直接赋给form里边的对应的项目(form是针对于list里边的项目做编辑)。是不是用jquery啥的能简单一些啊......
<s:form theme="simple" method="post" id="jcdForm" name="jcdForm">
<table class="data">
<tr>
<th>
监ID
</th>
<td>
<input type="text" name="jcd.jcdId"
value="<s:property value="jcd.jcdId"/>" readonly="readonly" />
</td>
<tr>
<th>
监类型
</th>
<td style="width: 100px;">
<s:select name="jcd.jcdlx" value="jcd.jcdlx"
list="#{'0':'其他','1':'一次供','2':'一次回','3':'二次供','4':'二次回'}" />
</td>
</table>
<div id="tablelist">
<table class="formdata">
<tr>
<th class="class1">
NO
</th>
<th class="class2">
监ID
</th>
<th class="class2">
监类型
</th>
<s:iterator value="jcds" status="sta" var="jcd">
<tr>
<td id="#sta.count">
<s:property value="#sta.count" />
</td>
<td>
<a
href="selectByIdjcd.action?jcdId=<s:property
value="#jcd.jcdId" />"><s:property
value="#jcd.jcdId" /> </a>
</td>
<td>
<s:if test="#jcd.jcdlx==0">其他</s:if>
<s:elseif test="#jcd.jcdlx==1">一次供</s:elseif>
<s:elseif test="#jcd.jcdlx==2">一次回</s:elseif>
<s:elseif test="#jcd.jcdlx==3">二次供</s:elseif>
<s:elseif test="#jcd.jcdlx==4">二次回</s:elseif>
<s:else></s:else>
</td>
</tr>
</s:iterator>
</table> 展开
<s:form theme="simple" method="post" id="jcdForm" name="jcdForm">
<table class="data">
<tr>
<th>
监ID
</th>
<td>
<input type="text" name="jcd.jcdId"
value="<s:property value="jcd.jcdId"/>" readonly="readonly" />
</td>
<tr>
<th>
监类型
</th>
<td style="width: 100px;">
<s:select name="jcd.jcdlx" value="jcd.jcdlx"
list="#{'0':'其他','1':'一次供','2':'一次回','3':'二次供','4':'二次回'}" />
</td>
</table>
<div id="tablelist">
<table class="formdata">
<tr>
<th class="class1">
NO
</th>
<th class="class2">
监ID
</th>
<th class="class2">
监类型
</th>
<s:iterator value="jcds" status="sta" var="jcd">
<tr>
<td id="#sta.count">
<s:property value="#sta.count" />
</td>
<td>
<a
href="selectByIdjcd.action?jcdId=<s:property
value="#jcd.jcdId" />"><s:property
value="#jcd.jcdId" /> </a>
</td>
<td>
<s:if test="#jcd.jcdlx==0">其他</s:if>
<s:elseif test="#jcd.jcdlx==1">一次供</s:elseif>
<s:elseif test="#jcd.jcdlx==2">一次回</s:elseif>
<s:elseif test="#jcd.jcdlx==3">二次供</s:elseif>
<s:elseif test="#jcd.jcdlx==4">二次回</s:elseif>
<s:else></s:else>
</td>
</tr>
</s:iterator>
</table> 展开
3个回答
展开全部
既然你这里是同一个jsp里面的,不用javascript或jquery的话其实也有其他办法,不过比较奇葩,不适合用户正常使用的惯例。用jquery的话,你可以在每个tr里加个class属性,然后通过$(".class名").click(function(){
//处理点击事件,就是说这里将用户选择的某一行的数据获取出来并设置到form表单中
});.............不过,楼主你真的懂jquery吗?如果懂,具体的操作就不用我说了,再说,楼上那个 “$('# id名').val()”这样是根本获取不了table的值得,因为table根本不是表单,val()方法只能获取表单input里面的value值(或其他有“value”这一个属性的标签),其他的像table这些只能用$('# id名').text()来获取,除非你在table的每个格子里加入<input type="hidden" />才可以用val()来获取值。 或者有大神有其他更好的办法,我不担保我的方法最有效。
//处理点击事件,就是说这里将用户选择的某一行的数据获取出来并设置到form表单中
});.............不过,楼主你真的懂jquery吗?如果懂,具体的操作就不用我说了,再说,楼上那个 “$('# id名').val()”这样是根本获取不了table的值得,因为table根本不是表单,val()方法只能获取表单input里面的value值(或其他有“value”这一个属性的标签),其他的像table这些只能用$('# id名').text()来获取,除非你在table的每个格子里加入<input type="hidden" />才可以用val()来获取值。 或者有大神有其他更好的办法,我不担保我的方法最有效。
展开全部
用jquery弄很简单的。你不就是想随便选个遍历后的记录,选中点击编辑,之后弹出div 上面有你选择的具体数值,之后编辑,点击保存后原来的变了当前div关闭,最后让你修改的提交,保存到数据库?引入jquery.js $('# id名').val()获取数值。遍历后的table不要是不想全显示出来的话你可以放在隐藏域里面。弹出div的时候 $('#div上面某行的id').val(你要赋的值);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jquery可以取出一行,然后拼成html,插入form表单中是可以的。拼的时候,注意名称对应不就行了吗?不知道我说的能不能帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询