folderselect.js是一款仿windows资源管理器风格的jQuery复选框美化插件。它能够以文件夹的形式来显示分层的数据结构,它还支持AJAX数据调用,事件回调,数据头等。
使用方法
初始化插件
可以通过下面的方法来初始化该美化复选框插件。
$("#element").folderselect({
data: my_json_hierarchical_data,
headers: [],
url: false,
icon_item: "item.png",
icon_folder: "folder.png",
icon_home: "home.png",
spinner_gif: "ajax-loader.gif",
item_selected_callback: function(item) {},
item_removed_callback: function(item) {},
folder_entered_callback: function(folder) {}
});
获取被选择的项
你可以在初始化jQuery对象上调用folderselect('selected')方法来获取被选择的复选框元素。你所得到的数据和你在初始化的时候放入的数据是相同的。
var selected_items = $("#element").folderselect('selected');
配置参数
除了data参数,所有的其他参数都是可选的。
headers:该字符串数组将转换为每个文件夹的headers。url:如果用户尝试打开一个空的文件夹(content = []),将使用该URL发送一个POST请求来获取文件夹的内容。icon_folder / icon_item / icon_home:不同图标的URL地址。item_selected_callback:当某项被选择时调用。item_removed_callback:当某项取消选择时被调用。folder_entered_callback:当文件夹打开时被调用。data:参考下面。
DATA参数
data参数是一个包含分层数据的json对象。它可能只是一个基本的树结构,然后在用户点击的时候通过ajax来调用子节点的数据。
data参数包含2种类型的对象:items和folders。它们有相同点和不同点。
适用于Folder和item
type:可取值为'folder'或'item'。icon:使用的item/folder图标的URL地址。cells:字符串数组。第一个字符串标识folder/icon的名称。如果使用headers,cells的数量将等于headers的数量。payload:一个任意的json对象。
仅适用于Folder
content:在该文件夹中可以找到的item/folder对象数组。headers:在文件夹中显示的Headers的数组。openable:设置为true是文件夹可以打开,false则不能。如果一个ajax请求为一个文件夹得到了空的数据,那么它就会被设置为false。open:如果设置为true,则文件夹默认打开。默认只有一个文件夹是打开的。
仅适用于Item
selectable:如果设置为true,则item可以被选择。selected:如果设置为true,则item默认被选择。