나는 ajax 호출을하고 페이지의 내용을 renderPartial로 업데이트하는 페이지 뷰를 가지고있다.Yii renderPartial with external javascript
그래서 page.php -> _pagePartial.php (아약스 갱신) page.php에
나는 다음 번 자바 스크립트 파일을 포함 아약스 렌더링 발생 후 변경이 적용되는 DOM을 갖고 싶어. 이 JS 파일을 모든 AJAX 새로 고침에로드하는 것은 이치에 맞지 않습니다.
$baseUrl = Yii::app()->baseUrl;
$basePath = Yii::app()->basePath;
$cs = Yii::app()->getClientScript();
$cs->registerScriptFile($baseUrl . '/js/jquery.ui.js'); // load one time!
page.php
예를 들면 다음 pagePartial.php// every ajax partial load
$('#sortable-list-left').sortable({
connectWith:'.productEntryCol',
placeholder: 'ui-state-highlight',
update: function(event, ui) {
var sortOrderLeft = getSortOrder('sortable-list-left');
var sortOrderRight = getSortOrder('sortable-list-right');
var projectId = '" . $project_id . "';
$.ajax({
data: { left: sortOrderLeft, right : sortOrderRight, id : projectId},
url: '/project/ajaxUpdateOrder',
type: 'POST',
success: function(response){
// process JSON response
var obj = jQuery.parseJSON(response);
}
});
}
});
에서 문제 AJAX 통해 _pagePartial가로드가 .sortable() 메소드를 사용할 수 후이다.
이 문제를 해결하는 적절한 방법은 무엇입니까?
감사
굉장히 시험해 보겠습니다. – bonez
대부분의 작업을로드하고 작동하지만 JQuery UI draggable-item은 페이지로드 당 한 번만 작동 한 다음 다시 작동하지 않습니다. 실제로 JS를 partialView에 두는 것은 항상 작동합니다. – bonez
draggable에 대한 Jquery UI 키 바인딩 작업과 관련이 있는지 궁금합니다 – bonez