2014-02-05 66 views
0

獲取現場的/設定值我有一個pageBlockTable在visualforce頁,表我正在允許通過JQuery .sortable重新排列行的順序用戶。在PageBlockTable

不,我要保存這個排序頁面上保存,所以我創建了一個新的參數就在Salesforce的產品,稱爲SORT_ORDER這是一個數字字段。

我想更新的領域,這是在表中最終將每一行拖到時間隱藏起來,使保存上都被存儲。

我有下面的代碼,而我試圖通過表去環和appropriatley更新的領域,但我不能用於設置字段的值制定出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> 

這是「當前ID」可編輯的字段,與我要更新的Current_ID的ID。

這是據我已經與更新腳本,我有它通過與「選擇」 ID行循環得到,但我不知道如何更新/訪問值。

$("[id$=shopping_cart] tbody").sortable({ 
        update: function(event, ui) { 
        //init(); 
        i = 0; 
        $("[id$=shopping_cart] tbody tr.cartRow").each(function() { 
          $this = $(this) 
          var value = $(this).find('Current_ID'); 
          var value2 = $(value).find('value'); 
          console.log("Checking Row " + i); 
          console.log(value); 
          console.log(value2).value; 
          i++; 
          }); 

    }) 

幫助非常感謝,因爲我的方式比我更是一個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

完美,謝謝! –