2014-02-05 3 views
0

Visualforce 페이지에서 pageBlockTable을 가지고 있습니다. 사용자가 JQuery .sortable을 통해 사용자에게 행의 순서를 재정렬하도록 허용하고 있습니다.PageBlockTable의 필드 값 가져 오기/설정

아니요,이 정렬을 페이지 저장에 저장하려고합니다. Salesforce의 제품에서 숫자 필드 인 sort_order라는 새 매개 변수를 만들었습니다.

테이블에있는 필드를 업데이트하고 행을 드래그 할 때마다 숨겨져 모든 것을 저장하면 저장됩니다.

필드를 설정하기 위해 테이블을 반복하고 필드를 업데이트하려고하는데 다음 코드를 사용하지만 JQuery 구문을 해결할 수 없습니다.

 <apex:pageBlock title="Selected {!$ObjectType.Product2.LabelPlural}" id="selected"> 
      <apex:variable value="{!1}" var="index"> 
      <apex:pageblockTable value="{!shoppingCart}" var="s" id="shopping_cart" rowClasses="cartRow"> 
       <tr data-SFid="{!index}"> 


       <apex:column headerValue="{!$ObjectType.OpportunityLineItem.Fields.Description.Label}"> 
        <apex:inputField id="item_description" value="{!s.Description}" required="false"/> 
       </apex:column> 



       <apex:column headerValue="Current ID"> 
       <apex:inputField id="Current_ID" value="{!s.Sort_Order__c}" style="width:70px" required="false" onkeyup="refreshTotals();"/> 
       </apex:column> 

       <apex:column headerValue="Updated ID" value="{!index}" /> 

       <apex:column > 
        <apex:commandLink value="Remove" action="{!removeFromShoppingCart}" reRender="selected,searchResults" immediate="true"> 
         <!-- this param is how we send an argument to the controller, so it knows which row we clicked 'remove' on --> 
         <apex:param value="{!s.PriceBookEntryId}" assignTo="{!toUnselect}" name="toUnselect"/> 
        </apex:commandLink> 
        <apex:variable value="{!index+1}" var="index"> 
        </apex:variable> 
       </apex:column> 

       <apex:column headerValue="{!$ObjectType.Product2.LabelPlural}" value="{!s.PriceBookEntry.Product2.Name}"/> 




       <apex:column headerValue="{!$ObjectType.OpportunityLineItem.Fields.Quantity.Label}"> 
        <apex:inputField value="{!s.Quantity}" style="width:70px" required="true" onkeyup="refreshTotals();"/> 
       </apex:column> 

       <apex:column headerValue="{!$ObjectType.OpportunityLineItem.Fields.UnitPrice.Label}"> 
        <apex:inputField value="{!s.UnitPrice}" style="width:70px" required="true" onkeyup="refreshTotals();"/> 
       </apex:column> 


       </tr> 
      </apex:pageblockTable> 
      </apex:variable> 

그것은 내가 업데이트 할 Current_ID의 ID와 함께, "현재 ID"편집 가능한 필드 : 여기

테이블을 생성하는 코드입니다.

그리고 이것은 업데이트 스크립트를 가지고있는 한 "선택됨"ID가있는 행을 반복하지만, 값을 업데이트하고 액세스하는 방법을 모르겠습니다.

저는 제가 Javascript/JQuery 사람인 것보다 ObjectiveC 사람이 더 길기 때문에 크게 도움이됩니다!

감사

가레스

답변

1
$("[id$=shopping_cart] tbody").sortable({ 
      update: function(event, index) {$("[id$=shopping_cart] tbody tr .cartRow").each(function(index, value) {$(value).val(index); });} 
}) 
+0

완벽한, 감사합니다! –

관련 문제