繁体   English   中英

如何通过jQuery查找功能获取所有ASP隐藏字段控件ID?

[英]how to get all asp hidden field control id by jquery find function?

我正在使用C#ASP.Net开发Web应用程序。 在我的代码中,有一个aspx页和关联的JQuery代码在单独的js file在我的aspx页中,我有以下代码示例

<div id="areaHiddenField">
    <asp:HiddenField ID="hfESFullName" runat="server" />
    <asp:HiddenField ID="hfESTitle" runat="server" />
    <asp:HiddenField ID="hfESPhoneNumber" runat="server" />
    <asp:HiddenField ID="hfESOfficePhoneNumber" runat="server" />
    <asp:HiddenField ID="hfESMailID" runat="server" />
    <asp:HiddenField ID="hfESWebsite" runat="server" />
    <asp:HiddenField ID="hfESAddress1" runat="server" />
    <asp:HiddenField ID="hfESAddress2" runat="server" />
    <asp:HiddenField ID="hfESDisclaimer" runat="server" />
    <asp:HiddenField ID="hfESPhoto" runat="server" />
    <asp:HiddenField ID="hfESLogo" runat="server" />
    <asp:HiddenField ID="hfESDesignation1" runat="server" />
    <asp:HiddenField ID="hfESDesignation2" runat="server" />
</div>

现在,我想对所有隐藏字段执行一些操作。 在单独的.js文件中,我正在使用以下代码

$("#areaHiddenField").find('[id^="hf"]').each(function () {
    alert("hi");
});

但是我没有从代码中得到任何回应。 请帮我。

尝试这个

$("#areaHiddenField").find("input[type='hidden']").each(function(){
  alert($(this).attr("id"));
});

要么

如果您希望相同的代码起作用,则将ClientIdMode = "static"添加到所有HiddenFields

尝试:

$("#areaHiddenField input[type='hidden']").each(function () {
    alert("hi");
});

要么

$("#areaHiddenField").find('input[id^=hf]').each(function () {
    alert("hi");
});

如果您的隐藏元素是直接子元素,那么最好使用children()

$("#areaHiddenField").children('input[id^=hs]').each(function () {
    alert("hi");
});

只需在脚本上方添加$(document).ready(function()

$(document).ready(function () {
     $("#areaHiddenField").find("[id^='hf']").each(function () {
       alert("hi");
    });
 });

它将起作用,我想您会错过它,否则它将起作用,因为脚本中没有任何问题。

可能是隐藏字段ID正在更改,因为它是服务器端并且不是从hf开始的。如果您有母版页,则它是从ct100开始的,因此请检查隐藏字段ID是从哪个单词开始的...我在我的页面中检查了与母版页完美地工作...

<div id="areaHiddenField">
                    <asp:HiddenField ID="hfESFullName" runat="server" />
                    <asp:HiddenField ID="hfESTitle" runat="server" />
                    <asp:HiddenField ID="hfESPhoneNumber" runat="server" />
                    <asp:HiddenField ID="hfESOfficePhoneNumber" runat="server" />
                    <asp:HiddenField ID="hfESMailID" runat="server" />
                    <asp:HiddenField ID="hfESWebsite" runat="server" />
                    <asp:HiddenField ID="hfESAddress1" runat="server" />
                    <asp:HiddenField ID="hfESAddress2" runat="server" />
                    <asp:HiddenField ID="hfESDisclaimer" runat="server" />

                    <asp:HiddenField ID="hfESPhoto" runat="server" />
                    <asp:HiddenField ID="hfESLogo" runat="server" />
                    <asp:HiddenField ID="hfESDesignation1" runat="server" />
                    <asp:HiddenField ID="hfESDesignation2" runat="server" />
                </div>

<script type="text/javascript">

 $("#areaHiddenField").find('[ID^="ctl00_ContentPlaceHolder1_"]').each(function () {debugger
var controlName = $(this).attr("ID");
var get_id=controlName.replace("ctl00_ContentPlaceHolder1_","");
alert(get_id);
var set_val=document.getElementById(""+ controlName +"");
if(get_id=="hfESFullName")
{
set_val.value="xyz";
}
else if(get_id=="hfESTitle")
{
set_val.value="abc";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM