什么意思?<table border="1">
<tr ondblclick="alert(this.innerHTML)">
<td>111
</td>
</tr>
<tr ondblclick="alert(this.innerHTML)">
<td>222
</td>
</tr>
</table>
<tr ondblclick="alert(this.innerHTML)">
<td>111
</td>
</tr>
<tr ondblclick="alert(this.innerHTML)">
<td>222
</td>
</tr>
</table>
<table border="1">
<tr ondblclick="show(this)">
<td>111
</td>
</tr>
<tr ondblclick="show(this)">
<td>222
</td>
</tr>
</table><script language="javascript">
function show(obj)
{
alert(obj.innerHTML)
}
</script>
function Del()
{
var GridView1 = $("XPGrid1tBody");
var valList = new Array();
var transvalue="";
for(var i = 0;i < GridView1.rows.length; i++)
{
if(GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0])
{
if(GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked == true)
{
vaist.push(GridView1.rows[i].cells[1].innerHTML);
}
}
}
}
hbhbhbhbhb1021 你写的这个不是我要的功能,我要的功能是。这个控件已经绑定上了值而且显示在页面上面。
<tr ondblclick="Del(this)">
<td>111
</td>
</tr>
<tr ondblclick="Del(this)">
<td>222
</td>
</tr>
</table><script language="javascript">
function Del(obj)
{
var GridView1 = $("XPGrid1tBody");
var valList = new Array();
var transvalue="";
for(var i = 0;i < GridView1.rows.length; i++)
{
if(GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0])
{
if(GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked == true)
{
vaist.push(GridView1.rows[i].cells[1].innerHTML);
}
}
alert(obj.innerHTML)
}
} </script>
function Del(obj)
{
var GridView1 = $("XPGrid1tBody");
var valList = new Array();
var transvalue="";
for(var i = 0;i < GridView1.rows.length; i++)
{
if(GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0])
{
if(GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked == true)
{
vaist.push(GridView1.rows[i].cells[1].innerHTML);
}
}
}
alert(obj.innerHTML)
} </script>
区别就在事件上面。GridView的事件是生成的服务器端事件。
这个控件的事件可以直接等于脚本函数啊。
{
var GridView1 = $("XPGrid1tBody");
var valList = new Array();
var transvalue="";
for(var i = 0;i < GridView1.rows.length; i++)
{
if(GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0])
{
if(GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked == true)
{
vaist.push(GridView1.rows[i].cells[1].innerHTML);
}
}
}
alert(obj.innerHTML)
}
以上的函数我只是举个例子。和双击事件没有关系啊
我现在就是不知道怎么样判断我双击的是哪一行
{
vaist.push(GridView1.rows[i].cells[1].innerHTML);
} 就只是在这个里面加啊,你这个不是判断选中的吗?
那你就在这里加一个alert(obj.innerText)
如果触发的对象是tr
则可以使用event.srcElement.rowIndex得到是哪行
<div id="XPGrid1Body" class="XPGrid"><table><thead class="tHeader"><tr>
<th XPA="" CT="check"><input type="checkbox" id="sAll" onclick="CheckALl(this);" />全选</th><th XPA="Example_id" CT="bound">Example_id</th><th XPA="Example_a" CT="bound">Example_a</th><th XPA="Example_b" CT="bound">Example_b</th><th XPA="Example_c" CT="bound">Example_c</th>
</tr></thead>
<tbody id="XPGrid1tBody" guid="XPGrid1" onDBL="Del();" class="tBodys"><tr>
<td><input id="_ctl3__ctl0" type="checkbox" name="_ctl3:_ctl0" /></td><td>11</td><td>b</td><td>b</td><td>2</td>
</tr><tr>
<td><input id="_ctl4__ctl0" type="checkbox" name="_ctl4:_ctl0" /></td><td>12</td><td>c</td><td>c</td><td>3</td>
</tr><tr>
<td><input id="_ctl5__ctl0" type="checkbox" name="_ctl5:_ctl0" /></td><td>13</td><td>d</td><td>d</td><td>4</td>
</tr><tr>
<td><input id="_ctl6__ctl0" type="checkbox" name="_ctl6:_ctl0" /></td><td>14</td><td>e</td><td>e</td><td>5</td>
</tr><tr>
<td><input id="_ctl7__ctl0" type="checkbox" name="_ctl7:_ctl0" /></td><td>15</td><td>f</td><td>f</td><td>6</td>
</tr>
</tbody></table></div><div id="XPGrid1Pages"></div><script type=text/javascript language=javascript>var XPGrid1Bar = new Page('XPGrid1','ExamplePage.aspx',5,12,false);var TXPGrid1 = new Table("XPGrid1"); </script>
</div>
这个就是控件在页面上的源代码,
双击事件在此:<tbody id="XPGrid1tBody" guid="XPGrid1" onDBL="Del();" class="tBodys">
我现在不知道怎么写Del()这个函数来获取我双击的那行,也就是重新写这个控件的双击事件
for(var i = 0;i < GridView1.rows.length; i++)
{
}
上面的代码可以获得这个控件并且可以循环每一行,我现在就是不知道,在循环的时候怎么样获得我双击的那行
<tbody id="XPGrid1tBody" guid="XPGrid1" onDBL="Del();" class="tBodys"> <tr>
<td> <input id="_ctl3__ctl0" type="checkbox" name="_ctl3:_ctl0" /> </td> <td> 11 </td> <td> b </td> <td> b </td> <td> 2 </td>
</tr> <tr>
<td> <input id="_ctl4__ctl0" type="checkbox" name="_ctl4:_ctl0" /> </td> <td> 12 </td> <td> c </td> <td> c </td> <td> 3 </td>
</tr> <tr>
<td> <input id="_ctl5__ctl0" type="checkbox" name="_ctl5:_ctl0" /> </td> <td> 13 </td> <td> d </td> <td> d </td> <td> 4 </td>
</tr> <tr>
<td> <input id="_ctl6__ctl0" type="checkbox" name="_ctl6:_ctl0" /> </td> <td> 14 </td> <td> e </td> <td> e </td> <td> 5 </td>
</tr> <tr>
<td> <input id="_ctl7__ctl0" type="checkbox" name="_ctl7:_ctl0" /> </td> <td> 15 </td> <td> f </td> <td> f </td> <td> 6 </td>
</tr>
不过你这里面包含了5个input,意思就是你双击的话这5个都选中了!
不用管checkbox这个控件,我想获得双击这行中除checkbox以外所有TD里面的值
比如:
<tr>
<td> <input id="_ctl3__ctl0" type="checkbox" name="_ctl3:_ctl0" /> </td> <td> 11 </td> <td> b </td> <td> b </td> <td> 2 </td>
</tr>
我想获得11,b,b,2这些值
如果想获取到这些值的话,必须获得这个双击行才行,我就是不知道怎么样获得双击到的这行
function getrow(obj)
{
if(event.srcElement.tagName=="TD"){
curRow=event.srcElement.parentElement;
line=curRow.rowIndex+1;
alert("这是第"+line+"行");
alert(curRow.innerHTML)}
}
</script> <table border="1" width="100%" onclick=getrow(this)>
<tr>
<td width="20%">11</td>
<td width="20%">12</td>
<td width="20%">13</td>
<td width="20%">14</td>
<td width="20%">15</td>
</tr>
<tr>
<td width="20%">21</td>
<td width="20%">22</td>
<td width="20%">23</td>
<td width="20%">24</td>
<td width="20%">25</td>
</tr>
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
</table>
看看这个例子