2017-10-12 5 views
0

私はjQuery Typeahead pluginを使用していますが、初期データを設定しようとするとエラーが発生し、入力値はfalseです。ここでエラー - 欠落している文字列 - jQuery Typeahead

は私の設定です:

var typeaheadOptions = { 
     dynamic: true, 
     display: ['title'], 
     template: '<span>{{title}}</span>', 
     cache: true, 
     debug: true, 
     multiselect: { 
      matchOn: ['id'], 
      data: [{title: 'title1'}, {title: 'title2'}], 
      callback: { 
       onCancel: function(node, item) {removeItem(item)} 
      } 
     }, 
     source: { 
      posts: { 
       ajax: { 
        method: 'GET', 
        url: remoteURL, 
        data: {search: '{{query}}'} 
       } 
      } 
     }, 
     callback: { 
      onClick: function(node, a, item) {addItem(item)} 
     } 
    }; 

そして、ここではエラーです:

ERROR - Missing string": { 
    arguments: "", 
    function: "helper.namespace()", 
    message: "ERROR - Missing string", 
    node: "#media-kit-post" 
} 

これは、次のようになります。

Wrong item title

私は何かが足りないのですか?

+0

「remoteURL」から返されるデータの形式は何ですか? –

+0

これは 'multiselect.data'プロパティに似ています。 '[{title: 'some title'}]' – sydev

答えて

0

私は解決策を見つけて、あなたのすべてでそれを共有したい:

初期data配列のアイテムが追加のキーと値のペアを必要とする:matchedKey: 'title'

var typeaheadOptions = { 
     dynamic: true, 
     display: ['title'], 
     template: '<span>{{title}}</span>', 
     cache: true, 
     debug: true, 
     multiselect: { 
      matchOn: ['id'], 
      data: [{title: 'title1', matchedKey: 'title'}, {title: 'title2', matchedKey: 'title'}], 
      callback: { 
       onCancel: function(node, item) {removeItem(item)} 
      } 
     }, 
     source: { 
      posts: { 
       ajax: { 
        method: 'GET', 
        url: remoteURL, 
        data: {search: '{{query}}'} 
       } 
      } 
     }, 
     callback: { 
      onClick: function(node, a, item) {addItem(item)} 
     } 
    }; 

追加のキーと値のペアがtypeahead documentationmultiselectのための例では確かにある、しかし、周囲のテキストで説明していない。だからここ

は私の作業optionsオブジェクトです。

関連する問題