2015-05-02 19 views
4

我在我的應用程序中使用Chosen Jquery作爲下拉列表。不幸的是,當下拉列表位於updatepanel中時,它不起作用。選擇JQuery腳本不能與Asp.net更新面板一起使用?

我知道腳本之間存在一些衝突。但無法追查出來。 任何幫助表示讚賞。

我的代碼是:

<script src="/js/jquery-1.11.2.js" type="text/javascript"></script> 
<link href="../css/chosen.css" rel="stylesheet" /> 
<script src="../js/chosen.jquery.js" type="text/javascript"></script> 

<asp:UpdatePanel ID="upMain" runat="server"> 
    <ContentTemplate> 
     <asp:DropDownList ID="DropDownList1" 
          CssClass="form-control chosen" 
          multiple runat="server"> 
      <asp:ListItem Text="Select Course" Value="0" 
          CssClass="form-control" runat="server"/> 
      <asp:ListItem Text="core java" Value="1" 
          CssClass="form-control" runat="server" />     
      <asp:ListItem Text="C" Value="2" 
          CssClass="form-control" runat="server" /> 
      <asp:ListItem Text="C++" Value="3" 
          CssClass="form-control" runat="server" /> 
      <asp:ListItem Text="C#" Value="4" 
          CssClass="form-control" runat="server" /> 
     </asp:DropDownList> 
    </ContentTemplate> 
</asp:UpdatePanel> 

<script> 
    jQuery(document).ready(function mchoose() { 
     jQuery(".chosen").data("placeholder", "Select Frameworks...").chosen(); 
    }); 
</script> 
+0

控制檯中的任何錯誤? – giannisf

+1

您是否嘗試將JavaScript代碼放入pageLoad函數中?有關pageLoad函數和UpdatePanel的更多信息可以在這裏找到:http://encosia.com/document-ready-and-pageload-are-not-the-same/ –

+0

沒有..在控制檯上沒有錯誤。 @giannisf。 – user3220291

回答

5

嘗試ASP.NET AJAX pageLoad()功能,如:

<script> 
    function pageLoad() { 
     jQuery(".chosen").data("placeholder", "Select Frameworks...").chosen(); 
    } 
</script> 
+0

非常感謝。這工作! :) – user3220291

+0

+1 yeh同樣的事情,我也發現。但它的好主意,把腳本放在pageLoad insted $(document).ready()。作爲pageLoad協助部分回發管理。 – UJS

-1

此重新加載偏後所需的js回來。使用外部文檔就緒功能,像這樣

<script type="text/javascript"> 
    function pageLoad() { 
    $("#DropDownListDrugTypeID").chosen({ disable_search_threshold: 5, search_contains: true }); 
    } 
</script>