问题描述
我现在有一个gridview的一个人名的列表。(张三,李四,王五。。。。。。)另外还有一些textbox(textbox1,textbox2,textbox3。。。)我想点击gridview的任意一行,把人名的值赋给一个textbox,这个用javascript怎么实现啊??????????????????????
解决方案
解决方案二:
没有试过。我感觉如果用js实现的话,就不要使用gridview。全部都是html+js吧。或者点击gridview的任意一行后台回触发事件的,然后可以把人名的值赋给一个textbox。但是这个需要提交到服务器。
解决方案三:
JS不会,提交回服务器做吧
解决方案四:
document.getElementById('textbox1').value=document.getElementById('gridview1').rows[1].cells[0].innerText;document.getElementById('textbox2').value=document.getElementById('gridview1').rows[1].cells[1].innerText;document.getElementById('textbox3').value=document.getElementById('gridview1').rows[1].cells[2].innerText;
楼主结贴吧
解决方案五:
貌似没发现哪里有什么难度,纯JS搞定的东西,单击的时候就将数据参数传过去可能名字和id都要传过去,因为要对应不同的textbox
解决方案六:
楼主貌似是个女人小妖精?
解决方案七:
GridView最后再页面上的表现形式会解析为html,完全可以用javascript获得,然后再用xmlhttprequest做处理,哈哈,异步,就是传说中的ajax
解决方案八:
<html><head></head><script>varobj;//保存点击刚才那个变量functionseleRen(a){obj=a;}functionsetVal(a){//赋值函数if(obj==null){alert('请先选择要填充的表格');returnfalse;}else{obj.value=a;}}</script><body>填表,先选你要填充的表格,然后点下面的选人列表,即可选入<table><tr><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><tr><tr><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><tr><tr><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><tr></table><br>选人列表<table><tr><td><inputtype="text"value="贝贝"onclick="setVal(this.value)"></td></tr><tr><td><inputtype="text"value="欢欢"onclick="setVal(this.value)"></td></tr><tr><td><inputtype="text"value="蓝蓝"onclick="setVal(this.value)"></td></tr></table></body></html>
就是实现这样的功能,我在纯html页面上已经实现了,但现在要人名换成gridview里的一列。我不知道怎么办?
解决方案九:
首先服务器端注册onclick脚本js函数如下:protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){e.Row.Attributes.Add("onclick","RowClick();");}}//有待你自己验证客户端<script>functionRowClick(){document.getElementById('textbox1').value=this.cells[0].innerText;document.getElementById('textbox2').value=this.cells[1].innerText;document.getElementById('textbox3').value=this.cells[2].innerText;}</script>思路就是这个样子
解决方案十:
错,错,错。摆脱你们看清我发的那段javascript的脚本实现的功能。。我现在只是换成了gridview和textbox的服务器控件。我要活的能动的功能啊,不是简单的赋值。
解决方案十一:
楼主再说清楚点
解决方案十二:
楼主貌似是个女人小妖精?
解决方案十三:
就是用girdview和textbox服务器控件怎么实现这样的功能?[code=JScript]<html><head></head><script>varobj;//保存点击刚才那个变量functionseleRen(a){obj=a;}functionsetVal(a){//赋值函数if(obj==null){alert('请先选择要填充的表格');returnfalse;}else{obj.value=a;}}</script><body>填表,先选你要填充的表格,然后点下面的选人列表,即可选入<table><tr><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><tr><tr><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><tr><tr><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><td><inputtype='text'onclick='seleRen(this)'></td><tr></table><br>选人列表<table><tr><td><inputtype="text"value="贝贝"onclick="setVal(this.value)"></td></tr><tr><td><inputtype="text"value="欢欢"onclick="setVal(this.value)"></td></tr><tr><td><inputtype="text"value="蓝蓝"onclick="setVal(this.value)"></td></tr></table></body></html>
[/code]
解决方案十四:
来晚了。被3L先抢了
解决方案十五:
修改一下:由于this没有用好所以决定传rowindex首先服务器端注册onclick脚本js函数如下:protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){e.Row.Attributes.Add("onclick","RowClick("+e.Row.RowIndex+");");}}客户端如下:<script>vargridClientId="<%=GridView1.ClientID%>";vartextClientId="<%=TextBox1.ClientID%>";functionRowClick(index){document.getElementById('textClientId').value=document.getElementById(gridClientId).rows[index+1].cells[0].innerText;}</script>
解决方案:
晕死,3楼根本就没理解我要实现的功能。你把JAVASCRIPT那段脚本保存下来就知道我要实现什么样的功能了
解决方案:
你在gridview的RowDataBound事件里面依次找到textbox(用findcontrol)找到了后textbox.Attributes.Add("onclick",“seleRen(this)”);之后页面注册你那东西不就可以了么
解决方案:
好比你页面上已经有<script>varobj;//保存点击刚才那个变量functionseleRen(a){obj=a;}functionsetVal(a){//赋值函数if(obj==null){alert('请先选择要填充的表格');returnfalse;}else{obj.value=a;}}</script>那段代码就起作用了
解决方案:
protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){e.Row.Attributes.Add("onclick","RowClick("+e.Row.RowIndex+");");}}JS代码要实现什么功能自己写就行了。。。
解决方案:
是否考虑clientid的功能?
解决方案:
楼主貌似是个女人小妖精?
解决方案:
你在gridview的RowDataBound事件里面依次找到textbox(用findcontrol)找到了后textbox.Attributes.Add("onclick",“seleRen(this)”);之后页面注册你那东西不就可以了么我的TEXTBOX不在GRIDVIEW里面
解决方案:
TEXTBOX在哪都能用都不知道你要干什么你的提问和你所写的js不是一个功能!js我没看,不知道你什么意思,反正你描述的功能我那段代码可以实现
解决方案:
我是被骗来的
解决方案:
楼主的需求是先点击某一个textbox然后再点击gv上的某一行被点击行的人名被赋值到刚才点击的textbox上吗??
解决方案:
999,是的。终于有一个人明白我的意思了。你能帮我写个简单的例子吗???
解决方案:
点击那一行的时候获取该行的id同样也可以获取该行的第几列的值?
解决方案:
我自己也能取到值,现在就是怎么把取道的值赋给那些textbox,而且不是指定赋值给哪个,而是需要灵活的赋值,我想给哪个赋就给哪个赋。
解决方案:
刚睡起来。貌似全是js问题。一会给你发上来吧。
解决方案:
^_^
解决方案:
随便写的,可能写的有bug,你可以自己把他改的更健壮<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default4.aspx.cs"Inherits="Web_Test_Default4"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>无标题页</title><scripttype="text/javascript">vartxtID;functiontxtOnClick(control){txtID=control.id;}functiongvOnClick(gvContent){alert(gvContent);document.getElementById(txtID).value=gvContent;}</script></head><body><formid="form1"runat="server"><div><table><tr><td><asp:TextBoxID="TextBox1"runat="server"onclick="txtOnClick(this);"></asp:TextBox></td><td><asp:TextBoxID="TextBox2"runat="server"onclick="txtOnClick(this);"></asp:TextBox></td><td><asp:TextBoxID="TextBox3"runat="server"onclick="txtOnClick(this);"></asp:TextBox></td></tr><tr><td><asp:TextBoxID="TextBox4"runat="server"onclick="txtOnClick(this);"></asp:TextBox></td><td><asp:TextBoxID="TextBox5"runat="server"onclick="txtOnClick(this);"></asp:TextBox></td><td><asp:TextBoxID="TextBox6"runat="server"onclick="txtOnClick(this);"></asp:TextBox></td></tr><tr><td><asp:TextBoxID="TextBox7"runat="server"onclick="txtOnClick(this);"></asp:TextBox></td><td><asp:TextBoxID="TextBox8"runat="server"onclick="txtOnClick(this);"></asp:TextBox></td><td><asp:TextBoxID="TextBox9"runat="server"onclick="txtOnClick(this);"></asp:TextBox></td></tr></table><br>选人列表<table><tr><td><asp:GridViewID="GridView1"runat="server"OnRowDataBound="GridView1_RowDataBound"></asp:GridView></td></tr></table></div></form></body></html>
usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclassWeb_Test_Default4:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!this.IsPostBack){this.BindGV();}}voidBindGV(){this.GridView1.DataSource=this.GetTempDataTable();this.GridView1.DataBind();}DataTableGetTempDataTable(){DataTabledtTemp=newDataTable();dtTemp.Columns.Add(newDataColumn("name",typeof(string)));DataRowdr;for(inti=0;i<10;i++){dr=dtTemp.NewRow();dr["name"]="name"+i;dtTemp.Rows.Add(dr);}returndtTemp;}protectedvoidGridView1_RowCreated(objectsender,GridViewRowEventArgse){}protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){e.Row.Cells[0].Attributes.Add("onclick","gvOnClick('"+e.Row.Cells[0].Text+"');");}}}
解决方案:
学习了...
解决方案:
不错,长见识了
解决方案:
不错,长见识了
解决方案:
楼主,给你个思路,你可以不用js,你既然能取出gridview点击的是哪个值,那么在你点击之前判断一下你选中的是哪个textbox,然后直接赋值就可以了。