点击GridView里的TextBox控件,弹出层,把在层里输入的值赋给TextBox解决思路

点击GridView里的TextBox控件,弹出层,把在层里输入的值赋给TextBox
当点击GridView里的一个TextBox时,弹出一个层,然后我在层里的对话框里输入内容,点击其他地方,层隐藏,而该对话框里的值则赋值给GridView里先前点击的那个TextBox里。

弹出层,隐藏层,这个我是通过Jquery来实现的。
可是最后把层里对话框的值赋值到原来点击的那个TextBox时,卡住了。

<head runat="server">
    <title></title>
    <script type="text/javascript" src="js/jquery-2.1.1.js"></script>
    <script type="text/javascript">
        $(function ()
        {

            $("#TextBox2").blur(function ()
            {
                var alltext = $("#TextBox2").val();
                $("#TextBox1").val(alltext);
                $("#div2").hide();
            })
        })
        function Test()
        {
            var top = ($(window).height() - $("#div2").height()) / 2;
            var left = ($(window).width() - $("#div2").width()) / 2;
            var scrollTop = $(document).scrollTop();
            var scrollLeft = $(document).scrollLeft();
            $("#div2").css({ position: 'absolute', 'top': top + scrollTop, left: left + scrollLeft }).show();

        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div style="width:1200px;height:800px;">
        <div id="div2" style="display: none; width: 400px; height: 200px; z-index: 10000;" align="center">
            <input type="text" id="TextBox2" runat="server" onclick="" style="width:400px; height: 200px; background-color:Gray"/>
        </div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField HeaderText="编号" DataField="LoginID" />
                <asp:BoundField HeaderText="姓名" DataField="UserName" />
                <asp:BoundField HeaderText="性别" DataField="Sex" />
                <asp:TemplateField HeaderText="评价">
                    <ItemTemplate>
                        <input id="TextBox1" type="text" runat="server" onclick="Test()" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            
        </asp:GridView>
    </div>
    </form>
</body>
</html>





点击GridView里的TextBox控件,能弹出带输入框的层,点击其他地方(该层失去焦点事件)时,层到是隐藏了,可是给GridView里点击的TextBox1赋值时出了问题$("#TextBox1").val(alltext);,想了哈也是,虽说是有ID,但是后台绑定数据后,就有很多行数据,每一行都有一个TextBox,赋值回去的时候,它也不知道赋给谁了。

有会的同学,请指点一下,谢了。200分赠上。
------解决思路----------------------
$("#TextBox2").blur(){f}
{
    $(this).val( alltext);
}
------解决思路----------------------
我觉得你要为td绑定一个点击事件!!然后通过$(this)找到对应的td,然后再找到td下的textbox可能会好点!!
因为通过ID的话,正如你所说的数据一填充那么多行数据...........................最后你懂的!!

不过你通过jQ绑定事件的话,应该是可以用$(this)进行取值赋值的啊~~~还是搬凳子坐等高手回复好了


      $("#aUid").live("dblclick", function() {  //不论是已有元素还是未来动态添加的元素都可以绑定事件
            //alert($(this).text());
            //将选中的内容添加到收件人文本框中
            if (document.getElementById("txtReciverList").value.indexOf($(this).text() + "@kinlion.com;") < 0) {
                document.getElementById("txtReciverList").value += $(this).text() + "@kinlion.com;";
            }
        });

------解决思路----------------------
给你的TextBox1加个特有的class,比如class="gridview_text"
然后你赋值只要
$(':text.gridview_text').val('abc');

------解决思路----------------------
参考这个?
http://www.cnblogs.com/insus/archive/2012/09/13/2682766.html