2011-12-29 91 views
-1

我有一個jQuery代碼,我必須在我的中繼器運行的所有項目的代碼運行jQuery代碼ItemCommand

在我的中繼器,我有一個按鈕和標籤 我要的是點擊一個按鈕時,中繼器將標籤參數發送給jquery函數並運行它。我的jquery代碼如下。它現在給出錯誤。因爲imgBtnCopy位於轉發器內部,所以它表示沒有名稱爲imgBtnCopy的按鈕。所以,我怎麼能在itemcommand運行中繼的這段代碼

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#' + '<%= imgBtnCopy.ClientID %>').zclip({ 
      path: 'ZeroClipboard.swf', 
      copy: function() { 
       return $('#' + '<%= lblFile.ClientID %>').val(); 
      }, 
      afterCopy: function() { 

      } 
     }); 

    }); 

</script> 

回答

1

ItemCommand是中繼對象的服務器端事件。由於JQuery是客戶端代碼,因此這裏有一些不匹配。

此外,如果您查看呈現的HTML源代碼,您將注意到錯誤消息是正確的。沒有對象的ID爲imgBtnCopy。有與對象imgBtnCopy作爲部分的id。 ASP.NET框架將爲您的<ItemTemplate>中的每個控件分配一個唯一的ID。否則,您將最終得到具有相同ID的多個控件。不是一件好事。

這就是說,你應該改變你的方法來考慮上述信息。

要選擇包含其ID的imgBtnCopy部分所有控件,使用jQuery選擇這樣的:

[id*=imgBtnCopy] 

您選擇具有包含字符串的ID的所有元素這樣imgBtnCopy。 * =是包含的JQuery運算符。然後,您會將您的JQuery連接到每個按鈕的單擊事件。