2011-10-18 9 views
0

私は少なくとも20-30の自動完全な問題をここで読みました。私は解決策を見つけることができません。何らかの奇妙な理由のために、私は値=未定義を得続けます。ここに私のコードです。もう1つのjQueryオートコンプリートの問題

//Cycles through each input and turns it into a person searcher. 
$.each(settings.input, function() { 
    var input = $(this); 
    input.autocomplete({ 
     delay: 70, 
     minLength: 2, 
     source: function(req, add) { 
      var val = input.val(); 

      $.post(VUI.SITE_URL + "scripts/autocomplete/_AutoComplete.php", {q: val, display_count: settings.displayCount, action: "user"}, function(data) { 
       data = eval("(" + data + ")"); 

       if (data.length > 0) { 
        var results = new Array(data.length); 
        $.each(data, function(key, value) { 
         results[key] = {desc: value, value: value.firstname + " " + value.lastname}; 
        }); 
        add(results); 
       } else { 
        add(["No results..."]); 
       } 
      }); 
     }, 
     select: function(event, ui) { 
      alert(ui.item ? ("Selected: " + ui.item.value + " aka " + ui.item.id) : "Nothing selected, input was " + this.value); 
     } 
    }) // end auto complete. 
    .data("autocomplete")._renderItem = function($ul, item) { 
     var $li = $("<li></li>"), 
      $inner = $("<div class='st-display side-content clearfix'style='padding-top:6px'></div>"), 
      $a = $("<a></a>"), 
      $img = $("<div class='image fl'></div>").html(ST.Image.getImage({ 
       uid: item.desc.uid, 
       type: ST.ST_IMAGE_TYPE_THUMBNAIL_SMALL 
      })), 
      $content = $("<div class='content fl'></div>").html(
       item.desc.firstname + " " + item.desc.lastname + "<br/>" + 
       "<span class='color:#979797;font-weight:bold'>" + item.desc.city + ", " + item.desc.state + "</span>" 
      ); 

     $inner.append($img).append($content); 
     $a.append($inner); 
     $li.append($a); 
     $ul.append($li); 

     return $ul; 
    } // end _renderItem */ 

私は非常にまっすぐ進むようにしました。しかし、それは動作しません! (自動完成のようなそのfacebook)。オートコンプリートが正しく表示されます(アイテムはその時点で未定義と同じではありません)が、強調表示するとアイテムは未定義になりますので、item.value(jquery.ui.1.8.13の634​​7行目)例外がスローされます。

誰でも問題がありますか?私はデータを使用しない場合はここで


は何か面白いものは(「オートコンプリート」)...です._のRenderItem(カスタム完了のための)選択作品! ...なぜカスタムレンダリングの問題を無効にするのが問題なのですか?私もULを返送しています。

答えて

1

私は非常によく似た何かを持っている作業バージョンが異なるのですあなたのコード内で唯一のものは、私が$liを初期化ということです:

私は思うのリスト項目にデータを添付し
var $li = $('<li></li>').data('item.autocomplete', item); 

オートコンプリートプラグインは、選択時に値を取得するために使用します。

希望します。

+0

ハ。私は私の別のものを見て、私はアイテムにデータを設定することを逃した! nj :) – Michael

関連する問題