0

流星で使用しているオートコンプリートテキストボックス機能があります。次のようなハードコードされたデータに対しては正常に機能します。

$(document).ready(function() {     
        $("#demo-input-facebook-theme").tokenInput(                    
          [{id: 7,  name: "Ruby"},{id: 11, name: "Python"},{id: 13, name: "JavaScript"}],
          {theme: "facebook"}
        );
});

これで、データベースMongoDBからデータをフェッチしましたが、このデータをパラメーターとしてオートコンプリート関数に渡すと、機能しません...メソッドも使用しましたJSON.stringify()

返されるデータは次のようになります。

[{"_id":"ab170916-a44b-49f9-85ef-a34c90fb815d","Namelist_name":"Badminton"},
 {"_id":"f768e4ba-b628-4d3f-8da6-0bad31346dcc","Namelist_name":"Biking"},
 {"_id":"0bee086b-1785-40c9-9c5d-a39331c875e1","Namelist_name":"Chess"},
 {"_id":"4eae1e54-ec60-4578-8052-0bf1bccf13b1","Namelist_name":"Golf"},
 {"_id":"a0d2b89e-a2d6-4b30-8e38-779c5a886d49","Namelist_name":"Hiking"},
 {"_id":"f3a05456-38d4-40f2-86b1-eddea061fdf0","Namelist_name":"Tennis"},
 {"_id":"3669b9a2-3f87-4579-8064-82d627196fcb","Namelist_name":"Walking"},
 {"_id":"6ac6497e-82b2-40fe-8b24-152e9f42750d","Namelist_name":"Wine Tasting"},
 {"_id":"15a7ca87-aef7-43ab-945b-168647bb59aa","Namelist_name":"Yoga"},
 {"_id":"bc40d166-64ef-4e61-85cd-60064dc037cd","Namelist_name":"Zumba"}]
4

3 に答える 3

1

返されたJSONデータを機能するテストデータと比較する場合、1つの本質的な違いがあります。それはid、MongoDB JSON結果のフィールドが欠落しており、代わりにを提供すること_idです。このidフィールドは現在、オートコンプリートに使用しているjQuerytokenInputプラグインのハードコードされたデフォルトです。

何人かの人々は、 tokenValueパラメーターを使用して別のキーを設定できるようにするパッチを提出しました。

例(テストされていない)パッチ:tokenValueは変更できません

于 2012-07-01T23:58:36.843 に答える
1

Namelist_nameをnameキーワードのみで変更するだけです。jquery tokeninputは、ハードコードされたデータに記載されているように、名前をキーとして使用するためです。そして、http://loopj.com/jquery-tokeninput/からjquerytokeninputをダウンロードするとします。キーワードが「名前」であることがわかります。

お役に立てれば....

于 2012-08-25T06:29:37.417 に答える
1

フリーテキストで複数のアイテムを自動補完する場合は、私が作成したこのパッケージを確認することをお勧めします。

https://github.com/mizzao/meteor-autocomplete

于 2013-09-22T22:11:31.260 に答える