2010-05-28 6 views
3

나는 목록 항목의 ID와 일치하는 올바른 정규식을 계산하려고합니다. 예를 들어jquery regexp와 정렬 할 수

다음 직렬화 방법에

<ul id="MyList" class="connectedSortable"> 
    <li id="id=1-32">Item 1</li> 
    <li id="id=2_23">Item 2</li> 
    <li id="id=3">Item 3</li> 
    <li id="id=4">Item 4</li> 
    <li id="id=5">Item 5</li> 
    <li id="id=6">Item 6</li> 
</ul> 

, 나는 그것이 등호 (=) 후 모든 것을 끌어합니다. 예를 들어 첫 번째 항목의 경우 ID가 1-32, 두 번째 항목의 경우 2_23이 필요합니다.

$(function() { 
     $("#MyList, #OtherList").sortable({ 
      connectWith: '.connectedSortable', 
      update: function() { 
       $("#MyListOrder").val($("#MyList").sortable('serialize', { regexp: '/(.+)[=](.+)/)' })); 
      } 
     }).disableSelection(); 
    }); 

나는 위와 같은 시도를했지만 그다지 효과가 없었다. 정규 표현식이 잘못되어 무엇이 있어야하는지 모르겠습니다. 아이디어?

UDPATE : serialize 메서드를 사용하는 대신 toArray를 사용하기로 결정했습니다. 그렇게하면 전체 ID를 얻고 서버 측에서 원하지 않는 부분을 추출 할 수 있습니다.

답변

4

사양에 따르면 옵션의 이름은 "expression"이어야하며 정규 표현식을 전달하지 않으면 문자열에 /.../이 필요하지 않습니다. 이 작품 :

.sortable('serialize', { expression: '(.+)=(.+)' }) 

나 :

.sortable('serialize', { expression: /(.+)=(.+)/ }) 

작업 예 : http://jsbin.com/oqejo3/2

+0

이 잘 작동하지 했나를, 나는 JQuery와 여전히 출력과 나사되었다 생각합니다. 어쨌든, toArray를 사용하기로 결정했습니다. exa : id = 1 [] = 32 & id [] = 4 & id = 2 [] = 23 & id [] = 3 & id [] = 5 & id [] = – NotMe

+0

@Chris Lively - 업데이트 된 버전 확인, 문제가 해결 된 것 같습니다. 답변을 게시 한 후에 jQuery UI와 함께 작동하지 않았습니다. – Kobi

+0

그것은 완벽합니다. 감사, – NotMe

관련 문제