所以我创建了一个巨大的对象,它通过一个数据库表并收集所有具有适当列名的行,如下所示(sx 是一个输出到 javascript 的字符串):
if (i == 0)
{
sx += "SearchAutocomplete['"+ s.Key + "'] = {};";
}
sx += "SearchAutocomplete['" + s.Key + "'][" + i + "] = '" + s.Value + "';";
(上面是 C# 代码,但错误是 javascript 部分)。
我的目标是使用这个巨大的对象将它放在 JQuery UI 的 autocomplete() 函数中,基于列名......
http://jqueryui.com/demos/autocomplete/
htmltable += sx + "$('#mySearchBox').autocomplete({" +
"source: jQuery.makeArray(SearchAutocomplete['" + columnName + "'])" +
"});"
我尝试使用 jQuery.makeArray,但无论我尝试什么,它都无法将 SearchAutocomplete['columnName'] 识别为值数组。
自动完成不起作用。
我猜解决方案是以某种方式循环并将对象转换回数组。但是有没有更简单的方法?
尝试修复 #1:
if(list_fields.ContainsKey(s.Key)){
if (i == 0)
{
sx += "SearchAutocomplete['"+ s.Key + "'] = [];";
}
sx += "SearchAutocomplete['" + s.Key + "'].push('" + s.Value + "');";
}