現在作業を行っているタブに部分的なビューを返すasp.netページがあります.jQueryをすべてセットアップして動作させています。1回だけ機能し、ajaxを介して部分ビューを返します.html(result);
ただし、これは一度しか機能しません。ボタンをクリックすると、バックグラウンドですべての処理が行われ、html が置き換えられます。次に、ボタンをもう一度クリックしても、これらのボタンには jQuery が存在しないようです。ページのリロードはありません。これはすべて ajax を介して行われます。
ページが最初にロードされるときに使用される HTML と .html(result) を介して返される HTML は、まったく同じ html 同じ部分ビューが両方に使用されます。
この部分的なビューが返されたときに、jQuery が何らかの形で切断されていますか?
これが私のAjax呼び出しです:
function updateSort(object) {
jQuery.ajax({
url: "/MasterList/UpdateSort",
type: "get",
data: object, //if you need to post Model data, use this
success: function (result) {
//alert('success');
//console.log(result);
jQuery("#procedures").html(result);
}
});
}
ボタンのクリックは次のとおりです。
jQuery(".btnMoveUp").click(function () {
var $this = jQuery(this),
processID = $this.data('processid'),
currProcedureID = $this.data('procedureid'),
currSortOrder = $this.data('sortorder'),
idx = jQuery('.commentlist li').index($this.closest('li')),
$prevLi = jQuery('.commentlist li').eq(idx - 1),
$anchor = $prevLi.find('.btnContainer a'),
prevProcedureID = $anchor.data('procedureid'),
prevSortOrder = $anchor.data('sortorder');
// create object that we can pass to MVC controller
var objProcedure = {};
objProcedure = {
_processID: processID,
_currProcedureID: currProcedureID,
_currSortOrder: currSortOrder,
_switchProcedureID: prevProcedureID,
_switchSortOrder: prevSortOrder
}
updateSort(objProcedure);
});
なぜこれが1回しか機能しないのですか?