2012-07-31 20 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