如何使用jquery的javascript获取listview项模板中的隐藏字段值

时间:2013-08-14 05:14:44

标签: javascript asp.net

html来源:

<asp:ListView ID="lstviewclients" runat="server" onitemcommand="lstviewclients_ItemCommand">
    <LayoutTemplate>
        <img ID="itemPlaceHolder" runat="server"></img>                        


    </LayoutTemplate>
    <ItemTemplate>
   <%--  <asp:Label ID="Label1" runat="server" Text='<%#Eval("schoolid") %>' class="valoflst" Visible="false"></asp:Label>--%>
    <img class="div-shadow" ID="img" runat="server" src='<%#Eval("logo") %>' 
        title='<%#Eval("schoolname") %>'  AlternateText='<%#Eval("schoolname") %>' alt='<%#Eval("schoolname") %>' onclick="ImageClick();" />

        <asp:HiddenField ID="hfschoolid"  Value='<%#Eval("schoolid") %>' runat="server" />
    </ItemTemplate>
</asp:ListView>

我正在使用这样的脚本

function ImageClick( )
{
    var hv = $('#hfschoolid').val();
    alert(hv);
} 

但是我无法获得隐藏字段的值!

2 个答案:

答案 0 :(得分:0)

我不确定jquery是否可以找到asp:HiddenField,我建议您使用asp:label而不是asp:HiddenField并给它样式display:none。至少我确信Jquery可以找到标签。

我还建议你通过ClientID传递标签

答案 1 :(得分:0)

这是因为asp渲染控制id带有前缀。在jquery中,您可以通过匹配end中的id来查找元素。如下所示

var hv = $('[id$="hfschoolid"]').val();

尝试以上更改,让我知道它是否有效...