jQuery with ASP.NET - 如何创建,填充和显示UL

时间:2009-06-02 02:21:24

标签: asp.net jquery

在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;
}

我很难过。在我出错的时候,有没有任何想法? 谢谢 迈克托马斯

1 个答案:

答案 0 :(得分:0)

不确定该代码有什么问题,但您使用的是javascript和Jquery的混合。我建议一直使用JQuery。使用.appendTo()等