Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取文本框&x27;是否使用JQuery在Gridview中设置ID?_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript 如何获取文本框&x27;是否使用JQuery在Gridview中设置ID?

Javascript 如何获取文本框&x27;是否使用JQuery在Gridview中设置ID?,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我已经搜索了一段时间,但找不到我的情况的答案 这是我的问题: 我在网格视图中有一个文本框,如下所示: <asp:TemplateField HeaderText="<%$ Resources:DCAAStrategicManagement, obj_lblStandardWeight %>" ItemStyle-HorizontalAlign="Center"> <ItemTemplate>

我已经搜索了一段时间,但找不到我的情况的答案

这是我的问题:

我在网格视图中有一个文本框,如下所示:

        <asp:TemplateField HeaderText="<%$ Resources:DCAAStrategicManagement, obj_lblStandardWeight  %>" ItemStyle-HorizontalAlign="Center">
            <ItemTemplate>
                <asp:TextBox runat="server" ID="txtStandardWeight" onkeypress="return onlyNumbers();" Text='<%# Eval("StandardWeight") %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
我认为问题就在这里:
$(“输入[id*=”).blur(函数()
因为我不能调试这个函数。
任何帮助都将不胜感激。

请注意,您的文本框位于模板内。这意味着,在网格视图数据绑定之前,它实际上并不存在,即使它是什么,也有许多文本框,每行一个,每个文本框都有不同的ID。这意味着您不能简单地通过
txtStandardWeight
访问它

但是,既然您正在使用jQuery,为什么不为textbox分配一些类,这样您就可以轻松地查询它呢

<asp:TextBox runat="server" ID="txtStandardWeight" CssClass="weightText" ...

$("input.weightText").blur(function () {

请注意,您的文本框位于模板内。这意味着,在网格视图数据绑定之前,它实际上并不存在,即使它是什么,也有许多文本框,每行一个,每个文本框都有不同的ID。这意味着您不能简单地通过
txtStandardWeight
访问它

但是,既然您正在使用jQuery,为什么不为textbox分配一些类,这样您就可以轻松地查询它呢

<asp:TextBox runat="server" ID="txtStandardWeight" CssClass="weightText" ...

$("input.weightText").blur(function () {
$().ready(函数(){
$(“#”).find(“tr”).each(函数(){
$(this.find(“td”).each(函数)(){
$(this).find(“输入[id*=txtStandardWeight]”).blur(函数(){
警惕(“你好”);
});
});
});
});
让我们举一个例子,其中gridview具有id=text并且您的textbox具有id=txtStandardWeight,然后我们必须遍历每一行和每一列以获得正确的结果,当您找到您的textbox时,然后根据您来管理正确的功能。

$()。就绪(函数(){
$(“#”).find(“tr”).each(函数(){
$(this.find(“td”).each(函数)(){
$(this).find(“输入[id*=txtStandardWeight]”).blur(函数(){
警惕(“你好”);
});
});
});
});

让我们举一个例子,其中gridview具有id=text并且您的textbox具有id=txtStandardWeight然后我们必须遍历每一行和每一列以获得正确的结果,当您找到文本框时,然后根据您的情况管理正确的功能。

您可以通过创建一个直接事件onblur=“funcName();”可能是因为您无法直接访问文本框,jquery函数无法工作。您可以通过直接创建事件onblur=“funcName();”来实现此目的可能是您的jquery功能不起作用,因为您无法直接访问文本框。实际上,当网页上显示Gridview时,它将转换为表格,您可以检查网页的视图源。实际上,当网页上显示Gridview时,它将转换为表格,您可以检查网页的视图源。@Null,i一般来说,t肯定能起作用。在您的情况下,什么东西不起作用?
$(“输入[id*=txtStandardWeight”)。单击(函数()
就可以了,但是
$(“输入[id*=txtStandardWeight”)。模糊(函数()
不会被触发!我甚至无法调试它!@Null,它在一般情况下肯定有效。在您的情况下,什么东西不起作用?
$(“输入[id*=txtstandardwight”)。单击(函数()
工作正常,但
$(“输入[id*=txtandardwight”)。模糊(函数()
不会被触发!我甚至无法调试它!
<asp:TextBox runat="server" ID="txtStandardWeight" CssClass="weightText" ...

$("input.weightText").blur(function () {
$().ready(function () {
            $("#<%= text.ClientID%>").find("tr").each(function () {
                $(this).find("td").each(function () {
                    $(this).find("input[id*=txtStandardWeight]").blur(function () {
                        alert("Hello");
                    });
                });
            });
        });