假设父窗口fu.htm里有一个触发赋值按钮znum事件那么在zi.htm用
<input name="zi2" type="text"> zi2 <br />
<br />
<input type="button" value="关闭窗口" onclick="xs();">
<script language="javascript">
function xs(){
window.opener.znum(document.getElementById("zi2").value,1);
window.close();
}
</script>
fu.htm:
<script>
var aa=[0,0,0]function znum(n,i){
var result = document.getElementById("he");
var number = parseInt(n);
if(aa[i] != number){ //子窗口值改变
if(result.value==""){
result.value=number;
}
else{
result.value=parseInt(result.value)-parseInt(aa[i]) + number;
}
aa[i] = number;
}
}
</script>
<a href="#" onclick="window.open('zi1.htm','','status=yes,width=200,height=200')"> 子窗口1 </a> <br /> <br />
<a href="#" onclick="window.open('zi2.htm','','status=yes,width=200,height=200')"> 子窗口1 </a> <br /> <br />
<a href="#" onclick="window.open('zi3.htm','','status=yes,width=200,height=200')"> 子窗口1 </a> <br /> <br />
<input name="he" type="text" readonly="true"> he <br /> 明白吗?
zi.html中的选择框:<input type="checkbox" name="sexCheckbox" value="idValue"> //全选
function checkall(isChecked)
{
var checkboxObj = document.getElementsByName("sexCheckbox");
for (var i = 0; i < checkboxObj.length; i++) checkboxObj[i].checked = isChecked;
}
window.open('zi.htm','');
为
NewWin = window.open('zi.htm', '');子窗口引用父窗口可以使用opener全选的函数可以给你一个!var status = false;function choose( form )
{
status = status ? false : true; for( var i = 0; i < form.elements.length; i++ )
{
if( form.elements[i].type == 'checkbox' )
{
form.elements[i].checked = status;
}
}
}用法 onclick="choose( this.form );"其他的自己做,都很忙的!
zi.html<input type="text" id="zitext"><a href="#" onclick='window.opener.document.getElementById("futext").value="从zi.html传来的值"'>给fu.html传值</a>
<script> function znum(n){
var result = document.getElementById("he");
//alert(n);
result.value=n;
}
</script> <table width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center" height="27"> 学号 </td>
<td align="center"> 姓名 </td>
<td align="center"> 学科 </td>
<td align="center"> 学费 </td>
</tr>
</table> <br /> <br />
<input type="submit" value="选择学生" onclick="window.open('zi.htm','')">
<br />
<br />
总学费:
<input type="text" value="" id="he"> zi.htm
<script language="javascript">
function getCbxByTag()
{
var cbx = document.getElementsByTagName("input");
var cbxValue="";
var b="";
for(var i=0;i <cbx.length;i++)
{
if(cbx[i].type=="checkbox")
{
if (cbx[i].checked)
{
cbxValue = cbx[i].value;
a=document.getElementById("xf"+cbxValue).innerText
if(b==""){
b=a;
}
else{
b=parseInt(b)+parseInt(a)
}
}
window.opener.znum(b);
}
}
window.close();
} </script>
<form>
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="16%" height="27" align="center"> 学号 </td>
<td width="16%" align="center"> 姓名 </td>
<td width="16%" align="center"> 学科 </td>
<td width="16%" align="center"> 学费 </td>
<td width="16%" align="center"> 选择标志 (全选) </td>
<td width="16%" align="center"> 性别 </td>
</tr>
<tr>
<td align="center" height="27"> 001 </td>
<td align="center"> 张三 </td>
<td align="center"> c# </td>
<td align="center" id="xf001"> 500 </td>
<td align="center"> <input name="check" type="checkbox" id="check" value="001"> </td>
<td align="center"> 男 </td>
</tr>
<tr>
<td align="center" height="27"> 003 </td>
<td align="center"> 李四 </td>
<td align="center"> c++ </td>
<td align="center" id="xf003"> 300 </td>
<td align="center"> <input name="check" type="checkbox" id="check" value="003"> </td>
<td align="center"> 男 </td>
</tr>
<tr>
<td align="center" height="27"> 015 </td>
<td align="center"> 王五 </td>
<td align="center"> java </td>
<td align="center" id="xf015"> 200 </td>
<td align="center"> <input name="check" type="checkbox" id="check" value="015"> </td>
<td align="center"> 女 </td>
</tr>
</table>
<p>
<input name="submit" type="submit" value="提交选择" onclick="getCbxByTag();">
</p> </form>
只做了第4点;看一下fu.htm和fu1.htm的不同啊;拜托高手啦!!!
的也没什么
都定义下ID,赋值过去就行了
然后window.opener.znum(b,c); 带2个参数传到父页
c就是保存你选种的所有行值的代码
同一行你使用\分开,不同行你使用,比如:c="001\张三\c#\500\男,003\李四\c++\300\男"
然后在父页里用2个split就可以全部分开然后循环放在相对的列和行里至于怎么动态增加<tr>和值,你也搜索一下很多!
基本做法就这些,扩展的就自己
<td align="center" height="27" id="bh001"> 001 </td>
<td align="center" id="xm001"> 张三 </td>
<td align="center" id="xk001"> c# </td>
<td align="center" id="xf001"> 500 </td>
<td align="center"> <input name="check" type="checkbox" id="check" value="001"> </td>
<td align="center" id="xb001"> 男 </td>
</tr> 这样命名,然后怎么组成c="001\张三\c#\500\男,003\李四\c++\300\男" 这样应该明白吧
这个是选种一行的c
多行的C你循环下就可以了
应该明白了吧
<tr>
<td align="center" height="27"> 003 </td>
<td align="center"> 李四 </td>
<td align="center"> c++ </td>
<td align="center"> 300 </td>
<td align="center"> <input type="checkbox"> </td>
<td align="center"> 男 </td>
</tr>
)直接从子窗口传到父窗口?(有点象document.write() )麻烦高手直接给个代码啊,偶是真不会!!谢谢!!
now 是表格的id
rows[i] 是指某一行 比如属性:length
cells[j] 是指某一个单元格 rows[i].cells[j]表示第i行第j列
innerHTML是指单元格的值
Js很重要的啊,特别是Dom方面,多看看Javascript方面的书吧,CSDN读书频道很多的,有了基础和思路就好办事了
这个你不会???
c=document.getElementById("bh"+cbxValue).innerText+"\"+document.getElementById("xm"+cbxValue).innerText+"\"+document.getElementById("xk"+cbxValue).innerText+"\"+document.getElementById("xf"+cbxValue).innerText+"\"+document.getElementById("xb"+cbxValue).innerText
这个是选种一行的c
在这里都已经写的这么清楚了
你不就是把tr和td分别放进去吗?
偶也郁闷啊……不过chinmo确实不赖,呵呵……
搞了半天也不知怎么弄啊:
"同一行你使用\分开,不同行你使用,比如:c="001\张三\c#\500\男,003\李四\c++\300\男"
然后在父页里用2个split就可以全部分开然后循环放在相对的列和行里 "这个是什么意思呢??
fu.htm
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center" height="27"> 学号 </td>
<td align="center"> 姓名 </td>
<td align="center"> 学科 </td>
<td align="center"> 学费 </td>
</tr>
<tbody id="tbItem"></tbody>
</table> <br /> <br />
<input type="submit" value="选择学生" onclick="window.open('zi.htm','')">
<br />
<br />
总学费:
<input type="text" id="totalMoney" value="">
<script type="text/javascript">
//这个方法是提供给子页面操作该页面的
function AddItem(Num,Name,Subject,Money)
{
var row=document.getElementById("tbItem").insertRow();
var td=row.insertCell();
td.innerHTML=Num;
td=row.insertCell();
td.innerHTML=Name;
td=row.insertCell();
td.innerHTML=Subject;
td=row.insertCell();
td.innerHTML=Money;
}
function SetTotalMoney(TotalMoney)//设置总学费
{
document.getElementById("totalMoney").value=TotalMoney;
}
</script>zi.htm
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="0" id="subTb">
<tr>
<td width="16%" height="27" align="center"> 学号 </td>
<td width="16%" align="center"> 姓名 </td>
<td width="16%" align="center"> 学科 </td>
<td width="16%" align="center"> 学费 </td>
<td width="16%" align="center" onclick="SelAll()"> 选择标志 (全选) </td>
<td width="16%" align="center"> 性别 </td>
</tr>
<tr>
<td align="center" height="27"> 001 </td>
<td align="center"> 张三 </td>
<td align="center"> c# </td>
<td align="center"> 500 </td>
<td align="center"> <input type="checkbox"> </td>
<td align="center"> 男 </td>
</tr>
<tr>
<td align="center" height="27"> 003 </td>
<td align="center"> 李四 </td>
<td align="center"> c++ </td>
<td align="center"> 300 </td>
<td align="center"> <input type="checkbox"> </td>
<td align="center"> 男 </td>
</tr>
<tr>
<td align="center" height="27"> 015 </td>
<td align="center"> 王五 </td>
<td align="center"> java </td>
<td align="center"> 200 </td>
<td align="center"> <input type="checkbox"> </td>
<td align="center"> 女 </td>
</tr>
</table>
<p>
<input type="button" value="提交选择" onclick="AddToParent()"/>
</p>
<script type="text/javascript">
function SelAll()
{
var cb=document.getElementsByTagName("input");
for(var i=0;i<cb.length;i++)
{
if(cb[i].type=='checkbox') cb[i].checked=true;
}
}
function AddToParent()
{
var subTb=document.getElementById("subTb");
var totalMoney=0;
var row;
for(var i=1;i<subTb.rows.length;i++)//注意是从1开始,省略了标题行
{
row=subTb.rows[i];
if(row.cells[4].getElementsByTagName("input")[0].checked)//选中
{
opener.AddItem(row.cells[0].innerHTML,row.cells[1].innerHTML,row.cells[2].innerHTML,row.cells[3].innerHTML);///========
totalMoney+=parseFloat(row.cells[3].innerHTML);
}
}
opener.SetTotalMoney(totalMoney);//============
self.close();
}
</script>
<tr>
<td align="center" height="27"> 学号 </td>
<td align="center"> 姓名 </td>
<td align="center"> 学科 </td>
<td align="center"> 学费 </td>
</tr>
<tbody id="tbItem"></tbody>
</table> <br /> <br />
<input type="submit" value="选择学生" onclick="window.open('zi.htm','')">
<br />
<br />
总学费:
<input type="text" id="totalMoney" value="0"><!--要给个默认值,为0-->
<script type="text/javascript">
//这个方法是提供给子页面操作该页面的
function AddItem(Num,Name,Subject,Money)
{
var row=document.getElementById("tbItem").insertRow();
var td=row.insertCell();
td.innerHTML=Num;
td=row.insertCell();
td.innerHTML=Name;
td=row.insertCell();
td.innerHTML=Subject;
td=row.insertCell();
td.innerHTML=Money;
}
function hasAdd(Num)
{
Num=Trim(Num);
var tbItem=document.getElementById("tbItem");
for(var i=0;i<tbItem.rows.length;i++)
{
if(Num==Trim(tbItem.rows[i].cells[0].innerHTML))
return true;
}
return false;
}
function Trim(Msg)//去除空格的
{
var start=-1,end=-1;
var i=0;
while(i<Msg.length)
{
if(Msg.charAt(i)==' ')
{
start=i;
i++;
}
else break;
}
i=Msg.length-1;
while(i>-1)
{
if(Msg.charAt(i)==' ')
{
end=i;
i--;
}
else break;
}
if(end==-1)
return Msg.substring(start+1);
else
return Msg.substr(start+1,end-start-1);
}
function SetTotalMoney(TotalMoney)//设置总学费
{
document.getElementById("totalMoney").value=TotalMoney+parseFloat(document.getElementById("totalMoney").value);
}
</script><table width="100%" border="1" align="center" cellpadding="0" cellspacing="0" id="subTb">
<tr>
<td width="16%" height="27" align="center"> 学号 </td>
<td width="16%" align="center"> 姓名 </td>
<td width="16%" align="center"> 学科 </td>
<td width="16%" align="center"> 学费 </td>
<td width="16%" align="center" onclick="SelAll()"> 选择标志 (全选) </td>
<td width="16%" align="center"> 性别 </td>
</tr>
<tr>
<td align="center" height="27"> 001 </td>
<td align="center"> 张三 </td>
<td align="center"> c# </td>
<td align="center"> 500 </td>
<td align="center"> <input type="checkbox"> </td>
<td align="center"> 男 </td>
</tr>
<tr>
<td align="center" height="27"> 003 </td>
<td align="center"> 李四 </td>
<td align="center"> c++ </td>
<td align="center"> 300 </td>
<td align="center"> <input type="checkbox"> </td>
<td align="center"> 男 </td>
</tr>
<tr>
<td align="center" height="27"> 015 </td>
<td align="center"> 王五 </td>
<td align="center"> java </td>
<td align="center"> 200 </td>
<td align="center"> <input type="checkbox"> </td>
<td align="center"> 女 </td>
</tr>
</table>
<p>
<input type="button" value="提交选择" onclick="AddToParent()"/>
</p>
<script type="text/javascript">
function SelAll()
{
var cb=document.getElementsByTagName("input");
for(var i=0;i<cb.length;i++)
{
if(cb[i].type=='checkbox') cb[i].checked=true;
}
}
function AddToParent()
{
var subTb=document.getElementById("subTb");
var totalMoney=0;
var row;
for(var i=1;i<subTb.rows.length;i++)//注意是从1开始,省略了标题行
{
row=subTb.rows[i];
if(row.cells[4].getElementsByTagName("input")[0].checked)//选中
{
if(!opener.hasAdd(row.cells[0].innerHTML))///
{
opener.AddItem(row.cells[0].innerHTML,row.cells[1].innerHTML,row.cells[2].innerHTML,row.cells[3].innerHTML);///========
totalMoney+=parseFloat(row.cells[3].innerHTML);
}
}
}
if(totalMoney>0) opener.SetTotalMoney(totalMoney);//============
self.close();
}
</script>
你也很有耐心
我告诉他那么详细他都懒得自己去写,自己去学
就想别人给答案对他没什么好处为了那点分算什么
来这是为分而来吗??我只为学思路,学方法而来所以我也只会给他思路和方法,分析给他懒得写,那就随便他
某些人应该学一下showbo啊!!!……