【问题标题】:Using jquery with EditItemTemplate of Datalist control将 jquery 与 Datalist 控件的 EditItemTemplate 一起使用
【发布时间】:2012-05-07 10:16:43
【问题描述】:

是否可以使用 jquery 访问 Datalist 控件的 EditItemTemplate 内的控件。我很难做到这一点,因为“编辑”行没有呈现在 html 中。

我感谢的唯一替代方法是不使用 DataList EditItemTemplate,而是仅使用 jquery 来隐藏和显示行并使用 ajax 更新行的内容。

但是,我仍然希望听到 EditItemTemplate 和 jquery 的选项。

谢谢

【问题讨论】:

    标签: jquery asp.net datalist edititemtemplate


    【解决方案1】:

    html 渲染,但仅在您单击 [编辑] 时 看到这篇文章应该对你有帮助http://forums.asp.net/t/1668230.aspx/1

    试试这个: javascript:

    <script type="text/javascript">
        $(document).ready(function () {         
            showID();
        });
    
        function showID() {         
            if ($("[id*=QtyTextBox]").length)
                alert($("[id*=QtyTextBox]").attr("id"));
        }
    </script>
    

    编辑项目模板:

    <EditItemTemplate>              
                Quantity:
                <asp:TextBox ID="QtyTextBox" Text='<%# DataBinder.Eval(Container.DataItem, "Qty") %>'
                    runat="server" />
                <br />              
                <asp:LinkButton ID="UpdateButton" Text="Update" CommandName="Update"
                    runat="server" />               
            </EditItemTemplate>
    

    【讨论】:

    • 我遵循了您的解决方案,但出现了问题。请在下面查看我的代码。
    • 有趣的是获得价值不是问题。我获得了 $(this).val() 的值,但我无法获得控件的 ID。我什么都试过了……
    • 是的,我没想过用attrib获取id。谢谢你的想法。
    【解决方案2】:

    我遵循了您的解决方案,但出现了问题。现在我可以触发一个事件,但是下面的代码将 id 返回为“未定义”,尽管它是在 datalist 中声明的。

    function bindPicker() {
                $("input[type=text][id*=txtStartDate]").click(
                function()
                {
                    alert($(this).id);
                });
            }
    

    我不确定如何引用触发事件的控件。

    【讨论】:

      猜你喜欢
      • 2016-03-13
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      • 2015-03-24
      相关资源
      最近更新 更多