2012-06-29 2 views
2

Когда пользователь нажимает на строку таблицы, я использую jQuery для выбора ссылки в одной из ячеек. Это довольно стандартно, из моих поисков.Выбор строки таблицы с помощью jQuery/ajax

$(document).ready(function() { 
    $('table.timecarddetail tr').click(function() { 
      var href = $(this).find("a").attr("href"); 
      if (href) { 
       window.location = href; 
      } 
     }); 
    }); 

Примечание: table.timecarddetail - это класс таблицы.

Введенная ссылка - это, по сути, вызов ajax, и поэтому он не выполняет полный пост и страница не обновляется. Моя проблема в том, что событие срабатывает один раз, но последующие клики игнорируются.

Технические детали: Я использую VS2010, и каждая ссылка указывает на ту же процедуру, проходящую в идентификаторе записи. Модальная панель расширения всплывающих окон заполняется данными из этой записи, а затем отображается с панелью. Show.

Что я здесь делаю неправильно?

+0

Вы используете kannel? – Hardik

+1

Какую версию jQuery вы используете? – izb

+0

Я не знаком с kannel .... как для jquery, 1.6. –

ответ

0

У меня была такая же проблема при внедрении JQueryUI в прошлом. Менеджер сценариев уничтожает javascript после сообщения ajax. Вы можете обойти эту проблему, обернув его в функции и назвав его обратно в начале и в конце вашего АЯКС вызова

Jquery

$(document).ready(function() { 
    setRows(); 
}); 

function setRows() { 
$('table.timecarddetail tr').click(function() { 
     var href = $(this).find("a").attr("href"); 
     if (href) { 
      window.location = href; 
     } 
    }); 
} 

Затем на странице поместить это после того, как ваш менеджер сценария

<asp:ScriptManager runat="server"> 
</asp:ScriptManager> 
<script type="text/javascript"> 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_beginRequest(BeginRequestHandler); 
    prm.add_endRequest(EndRequestHandler); 
    function BeginRequestHandler(sender, args) { 
     setRows(); 
    } 
    function EndRequestHandler(sender, args) { 
     setRows(); 
    } 
</script> 

Надеюсь, это поможет.

+0

YOU ROCK! Это фиксировало это. Я никогда, никогда, никогда бы не подумал об этом! –

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