JQuery с ASP.NET - как создать, заполнить и показать UL - PullRequest
0 голосов
/ 02 июня 2009

В веб-приложении ASP.NET я пытаюсь создать и заполнить 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 голосов
/ 02 июня 2009

Не уверен, что не так с этим кодом, но вы используете смесь javascript и Jquery. Я предлагаю использовать JQuery все время вместо этого. Используйте .appendTo () и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...