2013-06-18 62 views
0

我有一個telerik網格,當用戶雙擊某一行時,我正在使用它來向服務器發送一篇文章。它似乎工作正常,直到我在代碼中發出警報,並注意到一些奇怪的行爲。當我第一次雙擊一行時,警報會出現兩次,並繼續顯示兩次單擊的次數。我的意思是 - 第一次出現兩次,第二次出現4次,第三次出現6次,然後繼續。以下是我用來調用網格的腳本。Telerik Grid雙擊顯示點擊次數的兩倍

function DisplayStudent(e) { 
    if (IsStudentGradeAvailable == "True") { 
     $('tr', this).live('dblclick', function() { 
      var row = e.row; 
      var StudentId= row.cells[0].innerHTML; 
      var StudentGrade= row.cells[1].innerHTML; 
      var data = { "StudentId= ": StudentId= , "StudentGrade": StudentGrade }; 
      var url = '@Url.Action("Student", "StudentGrade")'; 
      $.ajax({ 
       url: url, 
       type: 'post', 
       dataType: 'text', 
       data: data, 
       success: function (data) { 
        alert("Success"); 
       }, 
       error: function (error) { 
        alert("Error"); 
       } 

      }); 
     }); 
    } 
} 

回答

0

實時附加事件處理程序。你想要一個事件處理程序,所以你應該只調用一次live()方法。考慮到你的代碼,這意味着DisplayStudent()只能被調用一次。

如果DisplayStudent()被調用n次,您將附加n個事件處理程序,每個處理程序都會在您單擊時發出警報。

+0

我看到......另一個詞,我應該關閉彈出窗口,並重新打開,如果他們想要看到更多的學生或處理它不同的方式。 –