解答
http://www.iteye.com/problems/95288#s_200578的问题
以下是之前做过的,直接搬过来给你,你看看能不能去里面借鉴一下。下面的文件命名也是之前原班的
注意修改点:
1.本例中的“选择”按钮等同于你表单中的“增加”按钮
2.本例中在弹出页面勾选好了,点击“确定”按钮后,只将品名带出来了,而你的需求应该是把所有的都带出来吧,所以如果你想将其他字段的值也带出来你就在purchase.js中添加
3.本例不是很全,有可能不太看得懂,可以结合之前跟你说的图片看
[url]http://liangjie5305579-126-com.iteye.com/picture/125721 [/url]
1.PurchaseEdit.jsp(表单主页面)
注意:此处需要将purchase.js导入,并设置一个隐藏域selectgoods来接收你到时候所选物品id(第一二行)
<script type="text/javascript" src="../../js/purchase.js"></script>
<s:hidden id="selectgoods" name="selectgoods" />
<tr>
<TD width="100%" colspan="4" align="left"
class="biaodan_ziduan_center">
<strong>物品清单</strong><input type="hidden" name="index" id="index1" />
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="table11">
<tr align="center">
<td width="17%">
品 名
</td>
<td width="16%">
需求数量
</td>
<td width="16%">
实购数量
</td>
<td width="16%">
金 额
</td>
<td width="16%">
单 价
</td>
<s:if test='allPermission.indexOf("idselect")>0'>
<td>
<jtag:jbutton id="idselect" value="选择" editCondition="%{allPermission}" onclick="PurchaseGoodsSelect(table11)"
cssClass="btn18 pbtn1" />
</td>
</s:if>
</tr>
<s:iterator value="b_v_flow_purchase_goods_list" id="b_v_flow_purchase_goods_list" status="index">
<tr>
<td align="center" class="Tdcellright">
<s:property value="%{b_v_flow_purchase_goods_list[#index.index].goodName}"/>
<s:hidden id="goodid" name="%{'b_v_flow_purchase_goods_list['+#index.index+'].goodId'}"/>
<s:hidden id="pgId" name="%{'b_v_flow_purchase_goods_list['+#index.index+'].pgId'}"/>
</td>
<td align="center" class="Tdcellright">
<s:if test='flag==0'>
<s:textfield name="%{'b_v_flow_purchase_goods_list['+#index.index+'].demandNum'}" theme="simple"
cssStyle="width:80%" cssClass="validate[required,onlyDouble]" id="demandNum%{#index.index}" />
</s:if>
<s:else>
<s:property value="%{b_v_flow_purchase_goods_list[#index.index].demandNum}"/>
</s:else>
<s:property value="%{b_v_flow_purchase_goods_list[#index.index].measurement}"/>
</td>
<td align="center" class="Tdcellright">
<s:if test='flag==1'>
<s:textfield name="%{'b_v_flow_purchase_goods_list['+#index.index+'].realNum'}" id="realNum%{#index.index}"
theme="simple" cssStyle="width:80%" cssClass="validate[required,onlyDouble]" onkeyup="getprice(%{#index.index})"/>
</s:if>
<s:else>
<s:property value="%{b_v_flow_purchase_goods_list[#index.index].realNum}"/>
</s:else>
<s:property value="%{b_v_flow_purchase_goods_list[#index.index].measurement}"/>
</td>
<td align="center" class="Tdcellright">
<s:if test='flag==1'>
<s:textfield name="%{'b_v_flow_purchase_goods_list['+#index.index+'].amount'}" id="amount%{#index.index}"
theme="simple" cssStyle="width:80%" cssClass="validate[required,onlyDouble]" onkeyup="getprice(%{#index.index})"/>
</s:if>
<s:else>
¥<s:property value="%{b_v_flow_purchase_goods_list[#index.index].amount}"/>
</s:else>
</td>
<td align="center" class="Tdcellright">
<span id="price<s:property value="#index.index"/>"> ¥<s:property value="%{b_v_flow_purchase_goods_list[#index.index].goodPrice}"/> </span>
</td>
<s:if test='allPermission.indexOf("idselect")>0'>
<td align="center" class="Tdcellright">
<s:if test='flag!=2'>
<input type="button" name="Return" value="删除" class="btn2 pbtn1" onClick="deleteResumeData(this,'table11','<s:property value="%{b_v_flow_purchase_goods_list[#index.index].pgId}"/>');" >
</s:if>
</td>
</s:if>
</tr>
</s:iterator>
</table>
</TD>
</tr>
2.purchase.js
function PurchaseGoodsSelect(tableId) {
//window.open("PurchaseGoodsSelectLoad.action");
var result = window.showModalDialog("PuerchaseGoodsSelect.jsp",window,
"dialogWidth:700px;dialogHeight:650px;scroll:yes;status:yes");
if (result == 1) {
var goods = document.getElementById("selectgoods").value;
// alert(goods);
if (goods != "") {
var goodlist = goods.split(',');
var goodinfo = "";
for ( var i = 0; i < goodlist.length; i++) {
// alert(goodlist[i]);
if (goodlist[i] != "") {
goodinfo = goodlist[i].split('@');
addResumeRowLast(goodinfo[0], goodinfo[1],goodinfo[2], tableId)
}
}
}
// addResumeRowLast(tableId);
}
}
function addResumeRowLast( goodid,goodsname,measurement, tableId) {
var initTR = document.getElementById("table11").getElementsByTagName("tr");
var posrow = initTR.length;
addResumeRow(goodid,goodsname, measurement, tableId, posrow);
}
function addResumeRow( goodid,goodsname,measurement, tableId, rowindex) {// 物品
// alert(goodid);
var index = document.getElementById("index1");
var flag=document.getElementById("flag").value;
var newRow = tableId.insertRow(rowindex);
var TR = document.getElementById("table11").getElementsByTagName("tr");
newRow.align = "center";
var newCell = newRow.insertCell();
newCell.innerHTML = goodsname
+ '<input type="hidden" name="b_v_flow_purchase_goods_list['
+ index.value + '].goodId" value="' + goodid + '">';
var newCell = newRow.insertCell();
if(flag=="1"){
newCell.innerHTML =' ';
}else{
newCell.innerHTML = '<input type="text" id="demandNum'+index.value+'" name="b_v_flow_purchase_goods_list[' + index.value + '].demandNum" '
+'style="width:80%" class="validate[required,onlyDouble]">'+measurement;
}
var newCell = newRow.insertCell();
if(flag=="1"){
newCell.innerHTML = '<input type="text" name="b_v_flow_purchase_goods_list[' + index.value + '].realNum" style="width:80%" class="validate[required,onlyDouble]" onkeyup="getprice('
+ index.value + ')" id="realNum'+index.value+'">'+measurement;
}else{
newCell.innerHTML =' ';
}
var newCell = newRow.insertCell();
if(flag=="1"){
newCell.innerHTML = '<input type="text" id="amount'+index.value+'" name="b_v_flow_purchase_goods_list[' + index.value + '].amount" '
+' style="width:80%" class="validate[required,onlyDouble]" onkeyup="getprice('
+ index.value + ')">';
}else{
newCell.innerHTML =' ';
}
var newCell = newRow.insertCell();
newCell.innerHTML = '<span id="price' + index.value + '"> </span>';
var newCell = newRow.insertCell();
newCell.innerHTML = '<input type="button" name="Return" class="btn2 pbtn1" value="删除" onClick="deleteRows(\'index\',this,\'table11\');" ><input type="hidden" name="b_v_flow_purchase_goods_list[' + index.value + '].pgId" > '
// if(rowindex>1)
// {
// TR[rowindex].getElementsByTagName("input")[0].value=TR[rowindex-1].getElementsByTagName("input")[1].value;
// }
index.value++;
}
function getprice(index) {
//alert(index);
var span = "price";
var countstring = "realNum";
var amountstring = "amount";
var count = document.getElementById(countstring + index).value;
//alert(count);
var amount = document.getElementById(amountstring + index).value;
var price = 0;
if(IsNullToFloat(count)!=false){
price = IsNullToFloat(amount)/IsNullToFloat(count);
document.getElementById(span + index).innerHTML =' ¥' +toDecimal2(price);
}
}
function IsNullToInt(obj) {
var re = 0;
if (obj == null || obj == "" || isNaN(obj)||obj==0||obj=="0")
return false;
else {
re = parseInt(obj);
}
return re;
}
function IsNullToFloat(obj) {
var re = 0;
if (obj == null || obj == "" || isNaN(obj))
return false;
else {
re = parseFloat(obj);
}
return re;
}
//制保留2位小数,如:2,会在2后面补上00.即2.00
function toDecimal2(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return false;
}
var f = Math.round(x * 100) / 100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}
function deleteResumeData(src, o, ID) {// 删除申购单物品信息
if (confirm('确定要删除数据吗?')) {
deleteRows('index', src, o);
var url = 'DeletePurchaseGoodsById.action';
var params = {
checkedIds : ID
};
jQuery.post(url, params, callbackdelFun, 'json');
}
}
function callbackdelFun(data) {
alert("物品删除成功!");
}
// 删除行
function deleteRows(obj, src, o) {
var index = document.getElementById(obj);
var oRow = src.parentElement.parentElement;
document.getElementById(o).deleteRow(oRow.rowIndex);
}
3.PuerchaseGoodsSelect.jsp(弹出来选择物品的页面)
此处把点击“确定”时的js代码复制出来
function updateData() {
//此处三行代码表示获取已勾选的数据的id,再将id赋给selectgoods,也就是刚才页面的隐藏域的那个,此处你自己需改
var deleteFlags="deleteFlag";
var childFrame=document.getElementById('List').contentWindow;
var checkBoxList = childFrame.document.getElementsByName(deleteFlags);
var checkIds="";
for (var i=0;i<checkBoxList.length;i++){
if (checkBoxList[i].checked){
if(i==0)
{
checkIds = checkBoxList[i].value + ",";
}
else
{
checkIds = checkIds + "," + checkBoxList[i].value;
}
}
}
var ParentForm = window.dialogArguments.document.getElementById("selectgoods");
//alert(checkIds);
ParentForm.value=checkIds;
window.returnValue=1;
onReturn();
}
- 大小: 7.8 KB
- 大小: 16.5 KB
- 大小: 17 KB
分享到:
相关推荐
springMVC往jsp页面传数据,具体例子
jsp自己做的简单登录,注册页面,用SQL数据库连接。可以供初学者学习,共同进步。
模仿qq的一个聊天界面,使用jsp进行开发
jsp展示,java代码层到Oracle数据库的简单页面增删改查和分页展示,适合新手拿来练手
1、有如下一个订单信息页面order.jsp(置于/WEB-INF/jsp目录下),按以下步骤实现一个使用POJO类型完成表单数据传输的SpringMVC数据绑定项目。 (1) 创建一个Order类来封装上述订单信息,其中各个属性的名称和数据类型...
本示例为servlet+jsp+mysql做的。基于servlet从mysql数据库读取数据到jsp页面,并提供增删改查功能,解压后导入eclipse即可使用。
JS传到到另外一个页面,有需要下载去吧,如果有什么疑问加QQ:196472414
怎么解决JSP页面中文问题。。。。。。。。。。。。。。。。
基于jsp的访问人数统计,一个简单的小程序,网友们可自由借鉴使用
JSP之使用jsp:forward实现用户信息验证的页面跳转 参考博客地址:https://blog.csdn.net/qq_36631076/article/details/79709868
5. java中如何把一个目录下的文件移到另一个指定的目录? 6. 制作表格线? 7. jsp如判别一个字符在A到Z之间? 8. 得到一浮点数小数点后4位,如何写以函数截取为两位 9. 整型转字符? 10. 显示数据库的记录,点击哪个...
jsp登录注册页面
利用 jsp 、 javabean 、 servlet 、session等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空等操作,...
只有一个页面 并可以任意修改.jsp前的名字 notepad.jsp名字可以任意修改如love.jsp 数据存放文件夹:与当前notepad.jsp文件夹相同,名为JSPHI_data 写这个代码主要是平时写程序的时候挂在一边当便签用哈 我...
用JSP+Servlet和3层构架写的QQ空间,实现了留言日志相册等4大重要功能,附加SQL的数据库,直接导入数据库就能运行了....
jsp页面中窗口关闭,退出的方式分享.docx
1.本项目采用mysql数据库进行储存数据,所以优先搭建项目所需数据库结构,此项目有用户表,商品表,购物车表,结算表等信息。 2.利用搭建好的jsp+servlet框架提供http请求及响应视图能力,展示项目所需各个jsp页面。...
校友录的实现,基本实现QQ空间功能.jsp+SQL数据框架
jsp连接各种数据库代码及读取数据实例
数字转中文 128 自动计算金额 129 JSP页面打印中使用WebBrowser控件 130 不刷新页面添加新的类别 131 鼠标滚动缩放图片 132 根据输入的表名生成输入数据表格 133 JSP表格输出到Excel 134.JSP...