2011-12-29 6 views
-1

У меня есть код JQuery, и я должен запустить этот код для всех деталей в моем повторителяRun Jquery код на Repeater 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, вы заметите, что сообщение об ошибке верное. Нет объекта с идентификатором imgBtnCopy. Там будет быть объектами с imgBtnCopy как часть ID. Структура ASP.NET назначит уникальный идентификатор каждому элементу управления в вашем <ItemTemplate>. В противном случае вы получите несколько элементов управления с одним и тем же идентификатором. Нехорошо.

Это, как говорится, следует перевести свой подход к коэффициенту в приведенной выше информации.

Чтобы выбрать все элементы управления, которые содержат imgBtnCopy как часть их идентификатора, используйте селектор JQuery, как это:

[id*=imgBtnCopy] 

Таким образом, вы выбираете все элементы, которые имеют идентификатор, содержащий строку imgBtnCopy. * = Оператор JQuery для содержит. Затем вы подключите свой JQuery к событию нажатия каждой из этих кнопок.