簡體   English   中英

'$(<%= DDL.ID%>')和$('<%= DDL.ID%>')之間的差異

[英]difference between '$(<%= DDL.ID %>) & $('<%= DDL.ID %>')

我試圖將事件綁定到下拉列表,因為昨天沒有任何幫助進入JavaScript聊天室,沒有人能夠找到解決我的問題的方法,但是后來我以某種方式嘗試將我的下拉列表綁定如下

$('<%= ddl.ID %>').bind('change',myfunction);

$(<%= ddl.ID %>).bind('change',myfunction);

它開始工作,有什么主意嗎?

編輯

抱歉,它不適用於IE :(

jQuery使用CSS selector例如語法。

對於ID Selector它必須以#符號為前綴。 例如, $('#DOMElementId')

檢查jQuery 選擇器列表

在您的情況下,正確的應該是

$('#<%= ddl.ID %>').bind('change',myfunction) // if you have no master page or 
                                              //ClientIDMode="static"

要么

$('#<%= ddl.ClientID %>').bind('change',myfunction)

jQuery函數需要一個字符串作為選擇器。

后一種語法沒有任何意義,除了

  • 如果你的字符串是一個JavaScript變量(例如document.bodymyvar如果定義myvar )。
  • 如果您的ddl.ID字符串包含引號(您可能已將其創建為ddl.ID = "\\"#id\\"";

您可能通過另一個使代碼中此行無效的錯誤修復了一個錯誤。

您可能應該改用ClientID

$('#<%= ddl.ClientID %>').bind('change', myfunction);

最好的選擇是

$('#'+'<%= ddl.ClientID %>').bind('change',myfunction);

即使您在用戶控件或內容頁面中使用此控件也可以使用

$('#'+'<%= ddl.ClientID %>').change(myfunction);

暫無
暫無

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

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