【问题标题】:How to pass id of a control in GridView to Jquery?如何将 GridView 中控件的 id 传递给 Jquery?
【发布时间】:2014-02-17 16:34:19
【问题描述】:

脚本

<script type="text/javascript">
$(function () {
   $(".ttip").hide();
   $(".txttwo").keyup(    
    function () {
        var one = $(this).val();
        $(".ttip").fadeIn().text(one);
    });

    $(".txttwo").blur(
     function () {
        var one = $(this).val();
        $(".ttip").hide();
    });
});    
    </script>

代码:

   <asp:GridView ID="GridView1" runat="server" EnableModelValidation="True">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                         <p class="ttip bubble" class="bubble"></p>
                            <asp:TextBox ID="abc" class="txttwo tipin" runat="server" ></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>

小提琴 http://jsfiddle.net/w96LX/7/

如果有人能告诉我如何设置气泡的宽度以使其根据文本的长度扩展,那就太好了。 因为我使用了类,所以我得到了所有文本框的工具提示。我需要一次只显示一个工具提示。

【问题讨论】:

  • 您的网格视图在哪里?

标签: javascript jquery asp.net css gridview


【解决方案1】:

只需使用$(this).attr("id") 即可获取元素的ID。另外,应用display:inline-block; width: auto; 使气泡与内容一样大:http://jsfiddle.net/w96LX/26/

更新: 我没有在您的 HTML 中看到 ID,只有服务器端代码。您需要将 ID 附加到 HTML 元素才能接收它。或者你生成内联javascript,即调用一个方法来设置ID。

【讨论】:

  • 我知道我需要传递 ID。但是你能不能说明我应该如何以正确的方式这样做?
  • 有多种方法。您可以编写一个新的&lt;div id="grid"&gt; 来包装您的视图。然后附加一些数据(在你的服务器端代码中附加)&lt;div id="grid" data-grid-id="GENERATED-ID"&gt; 然后,你可以调用$("#grid").data("grid-id"); 来获取这个属性的值
  • 我想...你也可以只使用隐藏字段...&lt;input type="hidden" id="grid-id" value="GENERATED-ID" /&gt; 并通过以下方式获取值:$("#grid-id").val();
  • 气泡会扩大,但也会增加网格包含单元格的宽度。
  • 然后转到隐藏字段或将数据附加到正文;)
猜你喜欢
  • 2023-04-09
  • 2015-12-22
  • 1970-01-01
  • 2014-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多