0

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);
} 

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

4

2 回答 2

0

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

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

于 2013-08-14T06:21:25.603 回答
0

这是因为 asp 渲染控件带有前缀的 id。在 jquery 中,您可以通过匹配末尾的 id 来找到一个元素。像下面

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

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

于 2013-08-14T06:35:40.183 回答