не удается получить JQuery LiveQuery с панелью обновления - PullRequest
0 голосов
/ 03 мая 2010

У меня есть несколько основных HTML внутри панели обновления asp.net. Используя livequery, я настроил события автозаполнения, размытия и нажатия клавиш, чтобы они все продолжали подключаться после частичной загрузки страницы панели обновления. При первоначальной загрузке страницы все события работают нормально, но после частичной перезагрузки панели обновления ни одно из событий, связанных с livequery, не продолжает работать. Известны ли проблемы с панелями livequery и update?

Html:

<asp:UpdatePanel ID="upData" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:DataList ID="dlData" runat="server"
            DataSource='<%# this.Data %>' DataKeyField="ID">
            <ItemTemplate>
                <table>
                    <tr>
                        <th class="required">Location</th>
                        <td><asp:TextBox ID="txtFromLocation" MaxLength="10" CssClass="searchlocation fromlocation required" runat="server" Text='<%# Eval("FromLocation")%>'/><asp:RequiredFieldValidator ID="rvalFromLocation" runat="server"
            ControlToValidate="txtFromLocation" ValidationGroup="leg">*</asp:RequiredFieldValidator></td>
                    </tr>
                </table>
            </ItemTemplate>
        </asp:DataList>
     </ContentTemplate> </asp:UpdatePanel>

И тогда у меня есть мой JavaScript. Обычно в нем есть куча другого кода, но я могу сократить его до этого и все еще иметь проблему:

$(document).ready(function() {
    $(".searchlocation").livequery(function() {                       
        $(this).keydown(function(event) {alert('test');});   

        ...

        $(this).autocomplete(...);
    });
});

1 Ответ

2 голосов
/ 03 мая 2010

Если вы используете jQuery 1.3+, вы можете использовать .live() без какого-либо плагина, например:

$(function() {
  $('.searchlocation').live('keydown', function(event) {
    alert('test');
  });
});
...