将动态参数传递给jquery api调用

时间:2012-07-31 19:01:28

标签: jquery api

很抱歉,如果我无法正确搜索...

我正在尝试使用从aJax / json函数返回的值。我需要在API调用的参数中使用thos值。当它只是一个值时,我可以做到这一点,但是当逗号在那里时,我无法让它工作。

回报是:

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

这是我正在使用的功能(在执行单个参数时起作用,即html和值):

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

1 个答案:

答案 0 :(得分: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));
    });
}

我无法想出一个更优雅的解决方案来剥离开始/结束引号的json.params部分。 (阅读有关Function.apply here)的更多信息