Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery查找Datalist控件的clientID?_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript 如何使用jquery查找Datalist控件的clientID?

Javascript 如何使用jquery查找Datalist控件的clientID?,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个带有ModalPopupXtender控件的数据列表。单击数据列表中的div时,显示ModalPopupXtender <asp:DataList ID="AdsDataList" runat="server" RepeatColumns="4" RepeatDirection="Horizontal"> <ItemTemplate> <div class="Detail_Content" id="detail

我有一个带有ModalPopupXtender控件的数据列表。单击数据列表中的div时,显示ModalPopupXtender

<asp:DataList ID="AdsDataList" runat="server" RepeatColumns="4" 
               RepeatDirection="Horizontal">
   <ItemTemplate>
     <div class="Detail_Content" id="detailcontact" runat="server" 
          onclick="return OpenPopup();">
        <label><%# Eval("Name") %></label>
     </div>
     <asp:Panel ID="Panel2" runat="server" Style="display: none;">
         <div class="popup_block" style="width: 550px;left:30%;top:100px">
              <label><%# Eval("FatherCategoryName")                                
         </div>
     </asp:Panel>
        <cc1:ModalPopupExtender runat="server" ID="ModalPopupExtender1" 
             TargetControlID="detailcontact" PopupControlID="Panel2" 
             PopupDragHandleControlID="header" DropShadow="false" 
             RepositionMode="RepositionOnWindowResizeAndScroll" X="400" Y="130" 
             BackgroundCssClass="modalBackground"CancelControlID="btnclose1" />
   </ItemTemplate>
</asp:DataList>
var modalWindow = $("[id*=AdsDataList] [id*=ModalPopupExtender1]");

$find(“#”);
但是得到错误

“对象引用未设置为对象的实例。”


如何使用jquery查找Datalist控件的clientID?

您是否尝试过直接获取它。。。如果id是唯一的..这应该适用于您的情况

 var modalWindow = $("#ModalPopupExtender1]");
 ......

您可以利用jQuery的同级选择器。
作为
面板
渲染为
div
,它就在您单击的
div
旁边

   function OpenPopup() {
       $(this).next("div").show();
   }
或者将一些
css
类放在
div
panel
上,您可以如下使用jquery

     $(".divClass").click(function() {
        $(this).next("div.pannelclass").show();
   });
其中.divClass是您的cssclass
div
pannelclass
是您面板的cssclass

jQuery选择器详细信息

编辑-1 编辑2 隐藏模型弹出窗口的链接



您应该能够在不使用JQuery的情况下通过调用以下命令来定位控件

var dataListControl = document.getElementById('<%:AdsDataList.ClientID%>')
var dataListControl=document.getElementById(“”)
使用JQuery

var dataListControl = $find('<%:AdsDataList.ClientID%>')
var dataListControl=$find(“”)

var dataListControl=$(“”)

单击数据列表中的任何模板时,请使用此代码

function (e) {

            var ModalPopupExtender1= $(this).closest('tr').find('#<%=ModalPopupExtender1.ClientID %>');
            e.preventDefault();
        });
函数(e){
var ModalPopupExtender1=$(this.closest('tr')。find('#');
e、 预防默认值();
});

谢谢,但是当我使用它时。我收到错误“名称“ModalPopupExtender1”在当前上下文中不存在”谢谢,我使用此代码并在代码中添加了一个alert(),但在单击div时不运行它。您是否在面板和您的div上都添加了
css类
?非常感谢,当单击background时如何隐藏ModalPopupExtender1。Thnaks,我以前经常使用此代码,但是当我在datalist中有一个弹出窗口时,如何找到“_backgroundElement”并在Edit-1代码中添加处理程序?!!谢谢,但我想在datalist中找到控件的clientid。这很难,但是如何找到ModalPopupExtender1_backgroundElement?什么是backgroundElement?
var dataListControl = document.getElementById('<%:AdsDataList.ClientID%>')
var dataListControl = $find('<%:AdsDataList.ClientID%>')
var dataListControl = $('<%: AdsDataList.ClientID%>')
   try this....if model id is unique

   var model =  $("[id$=ModalPopupExtender1]")

    or if not unique then use...

    OpenPopup(this) ...

    function (ob)
    {
    var e = $(this).parent().find("div#ModalPopupExtender1");
    }
function (e) {

            var ModalPopupExtender1= $(this).closest('tr').find('#<%=ModalPopupExtender1.ClientID %>');
            e.preventDefault();
        });