2011-01-18 2 views
0

Мой вопрос: Как подключить один и тот же ряд событий для многих идентификаторовJQuery присоедините же событие для многих ид

в этом случае Я прилагаю все этот код «#employeeBox»

$("#employeeBox").autocomplete({ 
           source: function (request, response) { 
            $.ajax({ 
             url: '<%:ResolveUrl("~/Lookup/SearchEnterpriseUsers")%>', 
             dataType: "json", 
             data: { 
              featureClass: "P", 
              style: "full", 
              maxRows: 12, 
              nameLike: request.term 
             }, 
             success: function (data) { 
              response($.map(data, function (item) { 
               return { 
                label: item.FullName, 
                value: item.EmployeeId 
               } 
              })) 
             } 
            }) 
           }, 
           minLength: 2, 
           select: function (event, ui) { 
            alert(ui.item.value) 
           }, 
           open: function() { 
            $(this).removeClass("ui-corner-all").addClass("ui-corner-top"); 
           }, 
           close: function() { 
            $(this).removeClass("ui-corner-top").addClass("ui-corner-all"); 
           } 
          }); 

Что делать, если я хочу прикрепить его ко многим идентификаторам.

Как

for (int i=0; i < count; i++) 
"#employee_" + i + "_Box" 

что лучший способ сделать это без большого количества повторяющегося кода?

спасибо!

ответ

4

Если вы можете, просто добавьте класс ко всем своим элементам и присоедините событие к этому классу, а не к группе идентификаторов.

$('.myClass').live('myevent', function(e) { //some function }); 
+0

Кажется, что OP спрашивает, как подключить плагин 'autocomplete' к нескольким элементам. Метод 'live()' не может помочь с этим. – user113716

+0

концепция присоединения всех ваших элементов по классу к событию остается тем же. – Jason

+0

для этого конкретного случая вам нужно прикрепить к событию «load». К сожалению .live() нельзя использовать здесь, так как событие «load» не пузырится. вот объяснение команды jQuery: http://bugs.jquery.com/ticket/7702 –

3

Если вы дали им все класс от employeeBox вы просто могли бы сделать $ ('employeeBox'). Автозаполнения().

Смежные вопросы