簡體   English   中英

jQuery似乎不適用於服務器控制

[英]JQuery Doesn't seem to work for server control

我試圖從我的aspx頁上調用jQuery函數,但是雖然它之前運行正常,但它沒有觸發,但是我認為發生了導致這種問題的原因。

我有一個div用作按鈕:

<div id="BtnContainer" runat="server" class="BtnContainer">add container</div>

我需要單擊它以顯示另一個彈出div

我正在使用此代碼:

<script type="text/javascript">
    $(document).ready(function () {
        $("#BtnContainer").click(function () {
            alert("working");
            $("#ContainerPanel").slideToggle("slow");
        });
    });
</script>

我已經通過互聯網和本地文件包含了jquery庫,但是沒有人起作用:

<script type="text/javascript" src="<%# ResolveUrl("assets/js/jquery.js") %>"></script>

並嘗試

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

被告知,我在簡單的html文件中嘗試了上述操作,並且工作正常,並且觸發了警報。

有什么解決辦法嗎?

頁面呈現時檢查HTML。 由於您在元素上使用runat="server" ,因此您正在更改ID。

而是嘗試使用類名稱來標識要將click事件附加到的元素。

$(document).ready(function () {
    $(".BtnContainer").click(function () {
        alert("working");
        $("#ContainerPanel").slideToggle("slow");
    });
});

您可以使用<%=BtnContainer.ClientID=>屬性來獲取真實ID,如其他人所建議的那樣,但是您需要在.aspx頁面中包含javascript,而不是在(縮小的).js文件中保持整潔。

將C#方面與JS混合會有點難看(IMO)。

由於您具有runat='server' ,因此ASP.NET將為div生成不同的ID。 用HTML進行檢查。 您將必須使用<%=BtnContainer.ClientID=>在腳本中(在.aspx內部)生成正確的ID:

$("<%=BtnContainer.ClientID=>").click(function () {
     alert("working");
     // more code here
});

或通過類DOM屬性選擇它,如下所示:

$(".BtnContainer").click(function () {
     alert("working");
     // more code here
});

當您將元素放入PlaceHolder中時,它會在PlaceHolderName_添加ID

嘗試使用

$("#MainPlaceHolder_BtnContainer")

在document.ready中,您的ID應該為<%= btndiv.ClientId%>。 抱歉,格式錯誤,請從stackexchange應用程序執行此操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM