我目前正在使用MVC页面,我正在使用Grid.Mvc表。我也有一些搜索字段,我可以通过Ajax Post更新表,一旦我使用搜索字段并提交排序html被替换后回传,一旦被替换,网格行不能像Ajax调用之前那样被点击,就像ajax调用是杀死javascript或Jquery或两者一样,
这是网格的Ajax调用代码:
$(function() {
$(document) on.("click", "#buscar", function() {
$.ajax({
url: '/MainPage/Grid',
type: 'POST',
async: false,
datatType: 'html',
processData: true,
data: {
url: $('#url').val(),
isInternal: ('#isInternal').val()
},
success: function(data) {
$('#grid').html(data);
}
})
});
});
这是我单击发送另一个Ajax调用的行的代码,但在第一个代码发布后,网格变得无法点击;
$(function() {
pagesGrids.linksgrid.onRowSelect(function() {
$.ajax({
url: '/mainpage/getlinkdetails',
type: 'POST',
async: false,
dataType: 'html',
processData: true,
data: {
id: e.row.BrokenId
},
success: function(data) {
$('#linkdetails').html(data);
},
error: function() {
alert('something went wrong')
}
})
});
})
任何有助于我指明正确方向的帮助或暗示都将非常感谢,谢谢
更新
它自己的网格是MVC上的索引的局部视图渲染
<div id="grid">
@Html.Action"Grid"
</div>
答案 0 :(得分:0)
您的局部视图正在将新元素渲染到页面中,而不是更改现有元素。
在部分回发后,您需要将javascript事件(单击)重新绑定到新元素。
答案 1 :(得分:0)
尽管这是一篇老文章,但我找到了一个对我有用的解决方案,并希望它对其他人也有用。
AJAX表单具有一个名为 data-ajax-complete 的数据破折号属性,您可以向其传递要运行的javascript函数的名称。该javascript函数可以包含将click事件重新绑定到所有元素所需的代码。
<a href="file://CENTRAL/path/audio.WAV">
更多详细信息here。