동적 요소에는 적용되지 않음

4905 단어 jquery-sortable

묘사

안녕, 존니,
록 플러그인 고마워요.나는 동적으로 추가된 요소를 주문하려고 했지만, 그것은 작용하지 않았다.오류 발생 - $item이 정의되지 않았습니다.
내가 이 점을 어떻게 완성했는지에 대해 어떤 단서가 있습니까?
다음은 제 코드입니다.
        $("ul.order_list").sortable({
            handle: '.grab',
            onDragStart: function ($item, container, _super) {
                var offset = $item.offset(),
                pointer = container.rootGroup.pointer
                adjustment = {
                    left: pointer.left - offset.left,
                    top: pointer.top - offset.top
                }
                _super($item, container)
            },
            onDrag: function ($item, position) {
                $item.css({
                    left: position.left - adjustment.left,
                    top: position.top - adjustment.top
                })
            }, 
            onDrop: function ($item, container, _super) {
                $item.removeClass("dragged").removeAttr("style");
                $("body").removeClass("dragging");
                newOrder = $("ul.order_list").sortable("serialize").get();
                postPhotoListOrder(newOrder);                    
            }
        });
고맙습니다, 점원!

토론 #1

JSFIDLE 를 제공할 수 있습니까?적어도 잘못된 줄 번호와 거슬러 올라갈 수 있다.
그리고 내가 알아볼게.

토론 #2

. 10분 안에 전화하라고.감사합니다!

토론 #셋

네 - "유형 오류: $item 정의되지 않음"

토론 #4

네 - JSFIDLE-http://jsfiddle.net/av6YU/1/
보시다시피 이 모든 것은 매우 좋다.나의 예에서, 나는 정말로 새로운 요소를 추가하는 것이 아니라, 전체 목록 요소를 다시 불러오는 것이다. 다음 줄은 내가 위에서 제기한 오류를 초래했다.
newOrder = $("ul.order_list").sortable("serialize").get();
만약 내가 위의 줄에 대해 평론을 한다면, 그것은 틀리지 않을 것이다. 그러나 나는 업데이트된 목록을 얻지 못할 것이다.

토론 #5

저도 같은 질문이 있습니다.나는 플러그인 목록에서 온드롭 함수를 사용할 수 있지만 일반 목록에서 사용할 수 있다는 것을 알아차렸다.어떤 도움도 감격을 금할 수 없을 것이다.

토론 #6

나도 같은 문제가 있다고 생각해...나는 선택 필드에서 '정의되지 않음' 값이 있는 옵션을 받았는데, 이 필드에서 무거운 사용자 정의 안내 프린터 헤드를 활성화시켰다.
JSFIDLE은 오류가 발생하지 않을 것 같고 적어도 나의 오류는 발생하지 않을 것 같기 때문에 이것이 같은 문제인지 아닌지는 말하기 어렵다.
감사

토론 #7

이 문제는 다음과 같습니다.http://jsfiddle.net/MyyeY/1/
jQuery 1.9.1 및 1.10.1에서 다음 오류 반환: TypeError: $item is undefinedjQuery 2.0.2 반환 오류: too much recursion- onDrop 작업에서 $.get(또는 $.post) 호출을 삭제하면 오류가 발생하지 않습니다.
- 목록 단순화(nested: false)도 유효합니다($.get/$.post 작업 정의).

토론 #8

나에게 있어서 옵션을 드래그하면 선택에 정의되지 않은 옵션이 있습니다.나는 플러그인 목록을 사용하지 않고 간단한 ol만 사용하고, ol에 비추는 select에 옵션을 추가합니다.만약 옵션 정렬이 있다면, 나는 선택표의olli를 다시 만들 것이다.
함수 redo select() {
$('select[id=“%(selSearch)s”]').비어 있음();
$(“#%(olSearch)s li”).각각(함수)
$(“#%(selSearch)s”).추가('+$'('li[id='+$(this).attr('id')+') span.미리선택 옵션(레이블)을 입력합니다.text()+“”);
});
이게 여기랑 저기라고...
다음 함수와 마찬가지로, 이 함수는 실제로 주석이지만 제대로 작동하지 않습니다.
함수 make ol sortable(){
var 조정;
$(“#%(olSearch)s”).슬프다({
그룹: 간단한 애니메이션,
pullPlaceholder:false,
//애니메이션 다운로드
onDrop: 기능(프로젝트, 대상 컨테이너, 수퍼)
변수clonedItem=$('
  • ').css({height:0})
    프로젝트전면(클론 항목)
    클론 항목.애니메이션({'height':item.height()}
                    item.animate(clonedItem.position(), function  () {
                      clonedItem.detach()
                      _super(item)
                    })
                    //redo_select(); // This not working for now there is option with undefined value that remain once the dragged option is released that seems a bug
                  },
    
                  // set item relative to cursor position
                  onDragStart: function ($item, container, _super) {
                    var offset = $item.offset(),
                    pointer = container.rootGroup.pointer
    
                    adjustment = {
                      left: pointer.left - offset.left,
                      top: pointer.top - offset.top
                    }
    
                    _super($item, container)
                  },
                  onDrag: function ($item, position) {
                    $item.css({
                      left: position.left - adjustment.left,
                      top: position.top - adjustment.top
                    })
                  }
            });
    
    나는 그것이 도대체 어디에서 왔는지 정말 모르겠지만, 나는 그것이 다음 함수 중의 하나에서 온 것이라고 추측한다.
    clearOffsetParent:함수()
    이거.offsetParent = 정의되지 않음
    },
    //컨테이너와 항목 차원 지우기
    clearDimensions:함수()
    이거.containerDimensions= 정의되지 않음
    vari = 이거요.용기.기장
    (나는--)
    이거.용기[i].clearDimensions()
    }
    )

    토론 #9

    을 사용하여 sortable("refresh") 또는 sortable("destroy")을 다시 입력하십시오.
  • 좋은 웹페이지 즐겨찾기