【问题标题】:Find textbox in gridview in JQuery在JQuery的gridview中查找文本框
【发布时间】:2012-06-08 07:23:06
【问题描述】:

我有一个包含图像按钮的 gridview。单击该图像按钮时,会填充另一个网格,其中包含一些文本框。如果插入在文本框中的值大于 gridview 的列值之一,我想对那些失去焦点的文本框进行 JQuery 验证。该列值正在使用绑定字段绑定数据。

如何使用 Jquery 实现这一点?我是 JQuery 新手。

我尝试过类似的方法。

<script type="text/javascript" language="javascript">
    $(function () {

        var GridView = $('#grdSalesOrder tr').each(function () {
            var btn = $(this).find('img[id*=imgdesign1]');
            alert(btn);
        });

    });
</script>

首先,我要找到该网格视图的主网格视图和图像按钮。单击按钮时,会填充另一个网格视图。所以我认为我应该编写代码以在此图像按钮的单击事件上找到另一个网格,因为在页面加载事件时,另一个网格将不可用。但是在这段代码中,我没有得到主网格视图中的按钮。如果我犯了任何错误,请编辑我的 Jquery。

【问题讨论】:

  • 显示 html 代码...或试试 jQuery.com
  • @Dileep Dil..html 代码太大,无法在此处粘贴...

标签: jquery asp.net validation gridview


【解决方案1】:

这里有一些 JQuery,您可以根据自己的需要进行配置。

假设您已将 CssClass 添加到网格视图中,如下所示:

<asp:GridView ID="Products" runat="server" CssClass="grid_view">

文本框的 CssClass 如下所示:

<asp:TextBox ID="txtUserInput runat="server" CssClass="user_input" />

并且绑定的列值在您的标题行中。

因此,如果您的网格视图中的 html 表格输出与此类似

<table class="grid_view" cellspacing="0" rules="all" border="1" id="Products" style="border-collapse:collapse;">
<tr>
    <th scope="col">12</th><th scope="col">4</th><th scope="col">21</th>
</tr>
<tr>
    <td>3</td><td>1</td><td>5</td>
</tr>
<tr>
    <td>3</td><td>1</td><td>5</td>
</tr>
<tr>
    <td>3</td><td>1</td><td>6</td>
</tr>
<tr>
    <td>3</td><td>1</td><td>5</td>
</tr>
<tr>
    <td><input type="text" class="user_input" /></td>
    <td><input type="text" class="user_input" /></td>
    <td><input type="text" class="user_input" /></td>
<tr>
</table>

你可以使用这个 JQuery

<script type="text/javascript">
    $('.user_input').blur(function() {
    var enteredVal = $(this).val();
    var currentCell = $(this).closest("td");

    col = $(currentCell).prevAll().length;
    var obj = $(this).parents('table').find('th').eq(col);
    var hrVal = obj.text();

    // your validation here
    if (parseInt(enteredVal,10) > parseInt(hrVal,10)) {
        alert('too big');
    }
});​
</script>


有关工作示例,请参阅此 fiddle

【讨论】:

    【解决方案2】:

    这里的诀窍是如何在网格上找到您希望的每个元素。没有html代码,我可以给你一些点击开始。

    此代码是选择 GridView 中的所有文本框,ID 为 YourGridViewID

    jQuery('#<%=YourGridViewID.ClientID%> input[type=text]')
    

    添加您设置的丢失焦点

    jQuery('#<%=YourGridViewID.ClientID%> input[type=text]').blur{
        // add the code for the validation
    });
    

    现在,如果您从网格中写出两行,也许我可以帮助您更多地定位其他数据。

    【讨论】:

    • @Aristos..我已经编辑了我的问题。请再次查看。
    猜你喜欢
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2021-09-05
    相关资源
    最近更新 更多