2

以下のコードでブートストラップの先行入力を使用して提案を表示できます。

    var xyz =JSON.stringify(this.collection.toJSON());      

    var jasonxyzObj = $.parseJSON(xyz);
    var xyzArray = [];

    for (var i = 0; i < jasonxyzObj.length; i++) {
       xyzArray.push(jasonxyzObj[i].id'');
    }

    $(".abc-class").typeahead({
        source: xyzArray,

    });

しかし、hbs ファイルを使用して id だけでなく、id 名カウントとして提案を表示したいと考えています。私の hbs ファイルは以下のようになります: abc.hbs (ABC)

    <table class="table">
    <tr>
     <td>{{name}}</td>
     <td>{{id}}</td>
     <td>{{count}}</td>
    </tr>
    </table>

以下のコードを試しましたが、提案に1文字が表示されます:

var xyz =JSON.stringify(this.collection.toJSON());      

    var jasonxyzObj = $.parseJSON(xyz);
    var xyzArray = [];

    for (var i = 0; i < jasonxyzObj.length; i++) {
       xyzArray.push(jasonxyzObj[i].id'');
    }

    $(".abc-class").typeahead({
        source: xyz,
          template: ABC,
        engine:Handlebars

    });

ソースで xyz だけを指定すると、1 文字の提案が表示されます。しかし、ソースで jasonxyzObj を指定すると、6 行目の bootstrap.min.js で「TypeError: e.toLowerCase は関数ではありません」というエラーが発生します。私のブートストラップのバージョンは「2.3.1」です。

ブートストラップの先行入力を使用して、ハンドルバー ファイル (HBS) に提案を表示する正しい方法は何ですか。

4

1 に答える 1