3
  1. リストアイテム

JsfiddleWebサイトのhttp://jsfiddle.net/g4stL/212/リンクにあるJQUERYの例を見ています。

私はその機能に非常に感銘を受けました。実際、アプリケーションにまったく同じ機能を実装する必要があります。

コードをそのままコピーすると、複数列のオートコンプリートを確認できます。ただし、選択部分は機能しません。マウスカーソルまたは矢印キーを使用して選択すると、プログラムが失敗します。

私が得るエラーは

"htmlfile:メソッドまたはプロパティへの予期しない呼び出し。"

Jquery-1.7.2.jsのjQuery.fn.extendコードの追加関数。

mcautocompleteウィジェットは、MVCのscriptフォルダーの下にあるカスタムjsファイルにあります。

手伝ってもらえますか?

$.widget('custom.mcautocomplete', $.ui.autocomplete, {
    _renderMenu: function(ul, items) {
        var self = this,
            thead;

        if (this.options.showHeader) {
            table = $('<div class="ui-widget-header" style="width:100%"></div>');
            $.each(this.options.columns, function(index, item) {
                table.append('<span style="padding:0 4px;float:left;width:' + item.width + ';">' + item.name + '</span>');
            });
            table.append('<div style="clear: both;"></div>');
            ul.append(table);
        }
        $.each(items, function(index, item) {
            self._renderItem(ul, item);
        });
    },
    _renderItem: function(ul, item) {
        var t = '',
            result = '';

        $.each(this.options.columns, function(index, column) {
            t += '<span style="padding:0 4px;float:left;width:' + column.width + ';">' + item[column.valueField ? column.valueField : index] + '</span>'
        });

        result = $('<li></li>').data('item.autocomplete', item).append('<a class="mcacAnchor">' + t + '<div style="clear: both;"></div></a>').appendTo(ul);
        return result;
    }
});

追加の調査結果:コードはFiddleで機能しますこのコードはChormeまたはFireFoxではクラッシュしません。

4

2 に答える 2

3

私も同じ問題を抱えていました。jQuery UI 1.10は、autocompeteがメニューの1行のアイテムデータを保存および取得するためのキーを変更しました。以前は「item.autotsomplete」でしたが、現在は「ui-autocomplete-item」になっています。そのため、データが見つからず、表示できません。

https://github.com/deaconsoftware/jQueryUI.MulticolumnAutocompleteでMulticolumnAutocompleteの最新バージョンを取得し ます

行を変更することもできます

result = $('<li></li>')
     .data('item.autocomplete', item)
     .append('<a class="mcacAnchor">' + t
              + '<div style="clear: both;"></div></a>').appendTo(ul);

result = $('<li></li>')
     .data('ui-autocomplete-item', item)
     .append('<a class="mcacAnchor">' + t
              + '<div style="clear: both;"></div></a>').appendTo(ul);
于 2013-05-24T08:58:55.477 に答える
0

以下のSQLコードを使用します。

SELECT column-duplicate
    FROM TABLE 
GROUP BY column-duplicate
  HAVING COUNT(column-duplicate) > 1
于 2017-07-20T11:31:33.487 に答える