2012-07-31 23 views
1

對不起,我根本就不能正確地搜索這個...傳遞到jQuery的API調用的動態參數,如果

我試圖使用從一個AJAX/JSON函數返回一個值。我需要在API調用的參數中使用thos值。當它只是一個值時,我可以做到,但是當逗號在那裏時,我無法讓它工作。

的回報是:

{ 
    "rawUpdates": [{ 
     "id": "#qty-8007-224", 
     "api": "css", 
     "params": "'background-color','red'" 
    }] 
} 

這是我使用(做單PARAM即html和值時有效)功能:

function parseRawUpdates(call) { 
    $.each(call, function(key,json) { 
     $(json.id)[json.api](json.params); 
    }); 
} 

回答

0
function parseRawUpdates(call) { 
    $.each(call, function(key,json) { 
     var params=[],tparams=json.params.split(","); 
     for(var k=0;k<tparams.length;k++){ 
      params[k]=tparams[k].replace(/^'/,"").replace(/'$/,""); 
     } 
     $.fn.[json.api].apply($(json.id),(params)); 
    }); 
} 

我不能」 t提出了一個更優雅的解決方案,用於剝離開始/結束引號的json.params部分。 (閱讀更多關於Function.apply here

+0

謝謝你剛剛刪除的額外。 ($ .fn。),它像一個char m一樣工作... – Chris 2012-07-31 20:31:50