在ASP.NET Web应用程序中,我尝试根据用户输入创建和填充UL。这不是快速填充。用户输入几个字母,单击一个按钮,服务器返回所有记录,如条目。如果有多个匹配项,则会创建一个显示所有匹配项的UL。
我试图从插件中调整此代码。我可以使用调试器逐步完成它,一切似乎都没问题,但UL不是为文档生成的,也不是看不见的。
以下是简化代码:
function fillBusinessDropdown(ListOfBusinesses) {
var results = document.createElement("div");
var $results = $(results);
$results.hide().addClass("ac_results").css("position", "absolute");
if ($.browser.msie) {
$results.append(document.createElement('iframe'));
}
results.appendChild(businessToDom(ListOfBusinesses));
$results.css({
width: 400 + "px",
top: 100 + "px",
left: 150 + "px"
}).show();
function businessToDom(ListOfBusinesses) {
var ul = document.createElement("ul");
var iLen = ListOfBusinesses.length - 1
for (var i = 0; i <= iLen; i++) {
var row = ListOfBusinesses[i];
if (!row) continue;
var li = document.createElement("li");
// add the business name
li.innerHTML = row.Bu_name;
// add the business ID
li.selectValue = row.Bupk;
var extra = null;
if (row.length > 1) {
extra = [];
for (var j = 1; j < row.length; j++) {
extra[extra.length] = row[j];
}
}
li.extra = extra;
ul.appendChild(li);
$(li).hover(
function() { $("li", ul).removeClass("ac_over");
$(this).addClass("ac_over"); active = $("li", ul).indexOf($(this).get(0)); },
function() { $(this).removeClass("ac_over"); }
).click(function(e) { e.preventDefault(); e.stopPropagation(); selectItem(this) });
}
return ul;
}
我很难过。在我出错的时候,有没有任何想法? 谢谢 迈克托马斯
答案 0 :(得分:0)
不确定该代码有什么问题,但您使用的是javascript和Jquery的混合。我建议一直使用JQuery。使用.appendTo()等