我在大约13个小部件附近创建了Jquery Dashboard,它在按钮点击事件上动态加载。现在我在单个小部件上放置一个下拉列表。
我正在参考创建jquery仪表板:" https://github.com/ModelN/sDashboard"
我的问题是:当我更改下拉列表的值时,加载的窗口小部件会刷新,但我无法刷新该特定窗口小部件。
以下是动态添加小部件的代码。
if (widgetId == "Id17") {
openIRByProject();
$("#Dashboard").Dashboard("addWidget", {
widgetTitle: data[i].WidgetTitle,
widgetId: data[i].WidgetId,
widgetType: data[i].WidgetType,
widgetContent: dashboardData.OpenIRByProject
});
}
下面是初始化窗口小部件并从SQL获取数据的代码。
function openIRByProject() {
dashboardData.OpenIRByProject = {
"aaData": [[createDataOpenIRByProject(false)], [createDataOpenIRByProject(true)]],
"aoColumns": [[{
"sTitle": "IR #"
},
{
"sTitle": "Description"
}, {
"sTitle": "Occurences"
},
{
"sTitle": "Project"
},
{
"sTitle": "Action"
},
{
"sTitle": "Severity"
},
{
"sTitle": "Priority"
},
{
"sTitle": "Res. associate"
},
{
"sTitle": "Date Issued"
}
],
[{
"sTitle": "IR #"
},
{
"sTitle": "Description"
},
{
"sTitle": "Occurences"
},
{
"sTitle": "Action"
}, ]
]
};
}
来自" createDataOpenIRByProject"方法我通过AJAX调用从数据库中获取数据。
当我更改下拉值时,下面的代码就是调用,但是从这段代码中我得到了来自数据库的最新数据,但我的小部件没有得到新数据的刷新。
function refreshWidget(obj, widgetId) {
if (widgetId == "Id17") {
openIRByProject();
}
}