如何更换功能参数?

时间:2011-05-18 05:42:48

标签: javascript jquery function parameters

我正在使用以下代码进行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作为参数传递。

//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);
});

我想删除函数调用中的参数,因为参数可能会有所不同。请建议一个替代方案来传递参数。

1 个答案:

答案 0 :(得分:0)

如何传递参数数组呢?然后传递另一个值,例如一个整数,以指示函数在其参数数组中期望什么。

e.g

restServiceCall(myParams, 0);