重新加载部分视图后,如何在元素上保留事件挂钩?

时间:2019-03-22 07:30:47

标签: javascript jquery asp.net-mvc-4 jquery-ui jquery-ui-datepicker

我在主视图上有两个局部视图。在主视图中的控件上进行选择时,将打开“第一部分视图”。第二部分视图会在称为“第一部分视图”的事件中打开。

我的第一个部分视图的网格中每行都有一个事件单击按钮,这将加载第二个部分视图。第二部分视图包含一些带有Datetimepicker字段的文本框和其他控件。

在第二部分视图上,有一个Datetimepicker文本框,该文本框将起作用,直到主视图上的选择更改为止。它仅在第一次工作,但是由于在主视图上所做的选择更改和加载了第一个部分视图,因此第二个部分视图上的Datetimepicker没有响应。

经过研究,我发现当再次加载部分视图时,Datetimepicker上的某些事件挂钩被破坏了。

尝试过的解决方法

在更早的ajax调用中,我正在这样做:

      .success(function (result) {
        $('#viewFillSubDetail').html(result);            
    })

我在这里调用第二部分视图,并将结果填充到Div viewFillSubDetail 中。

在这里,我将这段代码替换为:

      .success(function (result) {
    $('#viewFillSubDetail').append(result);            
})

现在.append两次加载完整的Second-Partial-View,或者单击First Partial View上的按钮的次数相同,因为它会将部分视图附加到先前显示的部分视图中。

请建议重新加载第二部分视图时如何使Datetimepicker重新工作。 Datetimepicker控件应该在重新加载时保留其事件挂钩。

0 个答案:

没有答案