2011-05-18 129 views
0

我使用以下代碼來進行ajax調用,其中表單數據作爲參數傳遞。如何替換函數參數?

//ajax call 
function restServiceCall(origin,destination,tripType,dateDepart,dateReturn){ 

    dataString = 'origin='+ origin + '&destination=' + destination + '&tripType='+tripType; 

    $.jsonp({ 
      "url": flightURL, 
      callbackParameter:jsonpCallBack, 
      data: dataString, 
    beforeSend:function(){$('#loadingdiv').show()}, 
      "success": function(data) { 
         if(data.error != null){ 
          $('#errtitle').html('<h2 class="pgtitle">Error !! &nbsp;'+data.error+'</h2>').show(); 
          $("#displaydiv,loadingdiv").hide(); 
         }else{ 
          renderData (data,dateDepart,dateReturn); 
         } 
      }, 

      "error": function(xOptions, textStatus) { 
       $('#errtitle').html('<h2 class="pgtitle">Sorry the service you are looking for is currently unavailable</h2>').show(); 
       $("#displaydiv,loadingdiv").hide(); 
      } 
}); 
} 

除了使從形式呼叫我還用它在下面的函數,其中,我只需要通過任一dateDepart/dateReturn作爲PARAMS。

//for pagination 
$('.pagenation a').bind('click',function(){ 
     var numDays = 7; 
     var self = $(this); 

     var dateTemp = self.parents(':eq(1)').attr('id')=="onewaytripdiv"? parseDate(dateDepart):parseDate(dateReturn); 

     if(self.hasClass('left')){ 
      var tempDepDate = removeNumOfDays(dateTemp,numDays); 
     }else{ 
      var tempDepDate = addNumOfDays(dateTemp,numDays); 
     } 
     var changedDate = tempDepDate.getDate()+' '+cx.monthNamesShort[tempDepDate.getMonth()]+' '+tempDepDate.getFullYear(); 
     if(self.parents(':eq(1)').attr('id')=="onewaytripdiv"){ 
      dateDepart = changedDate; 
     }else{ 
      dateReturn = changedDate; 
     } 
    restServiceCall(origin,destination,tripType,dateDepart,dateReturn); 
}); 

我想刪除函數調用中的參數,因爲參數可能會有所不同。請建議一個替代傳遞參數。

回答

0

如何傳遞一個參數數組呢?然後傳遞另一個值,比如一個整數,以向函數指示參數數組中的內容。

e.g

restServiceCall(myParams, 0);