jQuery将相同的事件附加到许多id

时间:2011-01-18 21:22:21

标签: asp.net-mvc jquery

我的问题是:如何将相同系列的事件附加到多个ID

在这种情况下,我将所有这些代码附加到“#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");
                                }
                            });

如果我想将它附加到许多id上,该怎么办。

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

在没有大量重复代码的情况下,最好的方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:4)

如果可以,只需在所有元素中添加一个类,并将事件附加到该类,而不是附加到一堆ID。

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

答案 1 :(得分:3)

如果你给他们所有类的employeeBox,你可以做$('。employeeBox')。autocomplete()。