如何用javascript实现网页gridview点击某行弹出小窗体,窗体内容显示gridview该行的某个单元格的内容?
本人菜鸟,知道用div层来实现,在div层中放置一个textbox,但不知道该怎么适时更新textbox的内容,并在小窗体中适时显示出来。请大神们赐教!最好附上源代码。谢...
本人菜鸟,知道用div层来实现,在div层中放置一个textbox,但不知道该怎么适时更新textbox的内容,并在小窗体中适时显示出来。请大神们赐教!最好附上源代码。谢谢了~~(以下程序是自己胡诌的,如果思路正确的话,请帮忙修改也行的)。
function showdata(obj)
{
var tr=event.srcElement.parentElement;
var iRowIndex = tr.rowIndex ;
var input=document.getElementById("TextBox1");
input.Text=obj.Rows.Item(iRowIndex).cells(5).value;
var showDiv=document.getElementById("div1");
if(showDiv.style.display=="none")
{
showDiv.style.display="block";
}
}
<asp:GridView ID="GridView1" runat="server" PageSize="8" onclick="showdata(this)">
<PagerSettings PageButtonCount="8" />
</asp:GridView>
GridView1.Rows.Item(i).Attributes.Add("onmouseclick","showdata('div1','textbox1',GridView1.Rows.Item(i).Cells(5).Text);")
next
//下边是javascript源码
function showdata(divID,textboxID,str)
{ var obj=document.getElementById(textboxID);
obj.text.value=str.substring(0,3); //将单元格的内容传递到textbox中.(这样赋值有问题么?)
document.getElementById(divID).style.display = "block"; //显示div层(隐藏层),调试时不能显示div层
}
麻烦把你的思路用代码尽量详细地表达出来吧,谢谢了!!~~ 展开
function showdata(obj)
{
var tr=event.srcElement.parentElement;
var iRowIndex = tr.rowIndex ;
var input=document.getElementById("TextBox1");
input.Text=obj.Rows.Item(iRowIndex).cells(5).value;
var showDiv=document.getElementById("div1");
if(showDiv.style.display=="none")
{
showDiv.style.display="block";
}
}
<asp:GridView ID="GridView1" runat="server" PageSize="8" onclick="showdata(this)">
<PagerSettings PageButtonCount="8" />
</asp:GridView>
GridView1.Rows.Item(i).Attributes.Add("onmouseclick","showdata('div1','textbox1',GridView1.Rows.Item(i).Cells(5).Text);")
next
//下边是javascript源码
function showdata(divID,textboxID,str)
{ var obj=document.getElementById(textboxID);
obj.text.value=str.substring(0,3); //将单元格的内容传递到textbox中.(这样赋值有问题么?)
document.getElementById(divID).style.display = "block"; //显示div层(隐藏层),调试时不能显示div层
}
麻烦把你的思路用代码尽量详细地表达出来吧,谢谢了!!~~ 展开
1个回答
展开全部
如果只是显示这行的内容的话 很简单 GridView的文档结构是table 那么 每行就是个tr标签
用jquery 写一个方法 比如 写个 getrowdate(this) 把这个代码放在tr中
点击的时候
方法中 直接 $(tr).find("td").each(function(){ 具体百度 jquery find 和 each用法});
不明白的地方 追问
如果想根据当前行中的某个id获取这个id的详细数据的话 一样 先获取到id 然后 通过jquery ajax获取一个josn 然后显示到div中
用jquery 写一个方法 比如 写个 getrowdate(this) 把这个代码放在tr中
点击的时候
方法中 直接 $(tr).find("td").each(function(){ 具体百度 jquery find 和 each用法});
不明白的地方 追问
如果想根据当前行中的某个id获取这个id的详细数据的话 一样 先获取到id 然后 通过jquery ajax获取一个josn 然后显示到div中
追问
亲。谢谢你的回答,请帮忙参考我的补充提问,能不能把你的实现思路的源码写一下。由于追问的内容字数超限,只好在上边补充问题了。。。谢谢!
追答
<table>
<tr>
<tr onclick="getdata(this)">
<td>tr1 td1</td>
<td>tr1 td2</td>
<td>tr1 td3</td>
</tr>
<tr onclick="getdata(this)">
<td>tr2 td1</td>
<td>tr2 td2</td>
<td>tr2 td3</td>
</tr>
<tr onclick="getdata(this)">
<td>tr3 td1</td>
<td>tr3 td2</td>
<td>tr3 td3</td>
</tr>
</table>
<script language="javascript">
function getdata(tr) {
var str = "";
$(tr).find("td").each(function () {
str += $(this).html()+"\r\n";
});
alert(str);
}
</script>
哥们 自己试试吧 这样够详细了吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询