JS代码如下:
<script language="javascript" type="text/javascript">
function white()
{
var gvList = document.getElementById("gvList");
var count=0;
for(var i = 1; i < gvList.rows.length; i++)
{
//var cb = gvList.rows[i].getElementById("chk_select");
//下面取当前行的checkbox有问题...
var cb = gvList.rows[i].getElementsByTagName("input");
if (cb.checked == true)
{
var user_id = gvList.rows[i].cells[1].innerText;
var user_email = gvList.rows[i].cells[3].innerText;
alert(user_id);
//分别把这两个值赋值到父窗口的LISTBOX中
o = window.opener;
var ListObj = o.document.getElementById("List_mail");
addOption(ListObj,user_id,user_email);
count++;
}
}
alert(count);
window.close();
}
function addOption(ListObj,text,value)
{
var List = ListObj;
var newOption = new Option();
newOption.text = text;
newOption.value = value;
List.add(newOption);
}
</script>==============
想要实现的功能:
子窗口gridview中,每行第一列有个checkbox,可选中多行,然后点击按钮后,把选中的值传到父窗口的listbox控件中....
<input id="Button1" type="button" value="OK" onclick="javascript:white();" />现在问题好像是JS取不到gridview中选中行的值,见上面代码,请各位高人指点一下,,谢谢!
<script language="javascript" type="text/javascript">
function white()
{
var gvList = document.getElementById("gvList");
var count=0;
for(var i = 1; i < gvList.rows.length; i++)
{
//var cb = gvList.rows[i].getElementById("chk_select");
//下面取当前行的checkbox有问题...
var cb = gvList.rows[i].getElementsByTagName("input");
if (cb.checked == true)
{
var user_id = gvList.rows[i].cells[1].innerText;
var user_email = gvList.rows[i].cells[3].innerText;
alert(user_id);
//分别把这两个值赋值到父窗口的LISTBOX中
o = window.opener;
var ListObj = o.document.getElementById("List_mail");
addOption(ListObj,user_id,user_email);
count++;
}
}
alert(count);
window.close();
}
function addOption(ListObj,text,value)
{
var List = ListObj;
var newOption = new Option();
newOption.text = text;
newOption.value = value;
List.add(newOption);
}
</script>==============
想要实现的功能:
子窗口gridview中,每行第一列有个checkbox,可选中多行,然后点击按钮后,把选中的值传到父窗口的listbox控件中....
<input id="Button1" type="button" value="OK" onclick="javascript:white();" />现在问题好像是JS取不到gridview中选中行的值,见上面代码,请各位高人指点一下,,谢谢!
这句话有问题
到页面了肯定不是这个id了
==> if (cb[0].checked )
得到的是一个数组.
if (cb.checked == true)
改成
var cb = gvList.rows[i].getElementsByTagName("input")[0];
if (cb.type == "checkbox" && cb.checked == true)
o = window.opener;
var ListObj = o.document.getElementById("List_mail");
addOption(ListObj,user_id,user_email);请再指教!
==>
List.appendChild(newOption)
<input id="Button1" type="button" value="button" onclick="OpenWin('POP_1.aspx','test',500,550)" />运行到count++;之前,也没有好像也没报错了,就是没有反应...窗口也没关闭...
是用window.open打开的吗?
{
var w = 1024;
var h = 768; if (document.all || document.layers)
{
w = screen.availWidth;
h = screen.availHeight;
} var leftPos = (w/2-width/2);
var topPos = (h/2.3-height/2.3); window.open(url,title,"width="+width+",height="+height+",top="+topPos+",left="+leftPos+",scrollbars=yes,resizable=yes,status=yes")
}
var ListObj = o.document.getElementById("List_mail");
addOption(ListObj,user_id,user_email);
count++;
=========================================
改成试试:
var o = window.opener;
if(o && o.document && o.document.getElementById)
{
var ListObj = o.document.getElementById("List_mail");
if(ListObj)
{
addOption(ListObj,user_id,user_email);
}
count++;
}
function addOption(ListObj,text,value)
{
var List = ListObj;
var newOption = new Option();
newOption.text = text;
newOption.value = value;
if(List.appendChild)
List.appendChild(newOption);
}
离成功只有一步之遥,请继续出招,,,,多谢!
var textbox = o.document.getElementById("TextBox1");
textbox.value = user_id;
----------------------------------------------------
现在问题可能是JS给LISTBOX添加新项的脚本出错.
<select id="List_mail" name="List_mail" multiple="multiple" style="width: 200px; height: 60px"></select>