2012-08-10 2 views
1

원하는 효과 : do-not-sort 클래스가있는 행 (tr)은 jQuery.sortable을 사용하여 포함에서 제외됩니다.jQuery sortable contaiment issue

현재 코드 : (봉쇄 '부모'/ 봉쇄 '.sortable 몸') (!) 내가 어떻게 제외시킬 수

<table> 
    <thead> 
     <tr> 
      <th>Field 1</th> 
      <th>Field 2</th> 
     </tr> 
    </thead> 
    <tbody class="sortable-body"> 
     <tr> 
      <td>Sortable Field 1</td> 
      <td>Sortable Field 2</td> 
     </tr> 
     <tr> 
      <td>Sortable Field 1</td> 
      <td>Sortable Field 2</td> 
     </tr> 
     <tr class="do-not-sort"> 
      <td colspan="2"><a href="#">Add Row</a></td> 
     </tr> 
    </tbody> 
</table> 

'할-하지 않은 일종의'행을 마지막에 봉쇄 구역에서 나온 돈? 다음은 작동하지 않았다

봉쇄 '.sortable 바디 TR :하지 (.menu-rij - toevoegen)'

답변

1

처럼 비 정렬 열을 지정할 수 있습니다.

$('.sortable-body').sortable({ items: 'tr:not(.do-not-sort)' })​;​ 

을 그리고 당신의 정확한 마크 업, 여기서 일하는 :

그래서처럼 :not() 의사 클래스를 사용, 부정적인 기준 (그룹에서 요소를 제외)를 제공하는 http://jsfiddle.net/MUEuW/2/

업데이트 : 봉쇄에서 마지막 행을 제외하는 가장 좋은 방법은 별도의 <tbody> 태그로 간단히 줄이는 것입니다.

복수 <tbody>은 유효합니다. 여기 Can we have multiple <tbody> in same <table>?

업데이트 바이올린 : 참조 http://jsfiddle.net/MUEuW/3/

... 또는 당신은 HTML을 제어 할 수 없습니다?

+0

봉쇄가 항목과 다릅니다. 사실, 이미이 items 매개 변수를 지정했습니다. 저는 질문에 언급 된 바와 같이 '봉쇄'매개 변수에 대해 말하고 있습니다. – Simon

+0

@ 케빈 : 미안해. 답변이 업데이트되었습니다. – Faust

+0

감사합니다! 어쩌면 이이 목적에 더 좋을지 모르지만 아이디어는 같습니다. – Simon

-1

내 이전 게시물을 살펴보십시오. 값은 CSS 셀렉터로 지정해야합니다 - https://stackoverflow.com/a/9535584/665387

당신은 당신이 'items' 매개 변수를 사용하여 정렬을있는 항목을 식별 할 수

$('#tableRoster').tablesorter({ 
     headers: { 
      0: { sorter: false }, 
      4: { sorter: false } 
     } 
    }); 
+0

jQuery.tablesort는 jQuery.sortable과 다릅니다.) – Simon