向插件发送适当的输入

时间:2013-02-18 17:29:25

标签: javascript html json algorithm plugins

我正在使用第三方javascript插件根据我的要求开发双列表功能。该插件接受输入json数组,其类似于以下内容:

var data = {"Project" : [{'Start':'02/20/2012',
'End':'02/20/2012',
'Content':'Project Description',
'Group' : 'Table Group 1'
},...
] };
上面Group中的

json在插件中使用时,可以给出任何类型的内容(custom html content as well),它在内部呈现为:

var items = []; //json array items will be pushed by items.push from input `data` json
for(var i=0,im = items.length;i<im;i++){
var group = items[i].Group;
groupDiv.innerHtml = group;
}

在我的情况下,对于Group项目的json array项,我传递的自定义HTML如下所示:

var customHtml = '<div><span class="button-red"></span>'+
                       '<div class = "quick-info-hide">' + 
                       'Some Custom Content from input' +
                       '</div></div>'

我从某个输入(另一个更大的json)生成此customHtml并将其发送到插件并尝试不修改插件本身。但是,我不得不修改插件以在此处添加某个功能(行扩展on/off),这让我感到不安。

当行未展开时,customHtml的spandiv应该有style1个类,如果展开,customHtml的spandiv应该有班style2
但是,在插件内部,customHtml被分配时没有任何if condition扩展/折叠。由于插件不是以row expansion/collapse on click的逻辑构建的,因此预计也不会这样做。我想在扩展/折叠时更改这里的样式以分配给groupDiv.innerHtml即customHtml,这可能是由customHtml1的另一种变体来完成的,它会有不同的样式。

这样做的最佳方法是什么?
我应该在此处添加if condition并在插件中发送customHtml的两种变体,并在相应的condition上应用合适的变体吗?在这种情况下是否有更好的方法来破坏插件的通用方法(我似乎在这里做了修改)?

0 个答案:

没有答案