経由で取得されたときに意味UIのドロップダウンに属性私は(HAMLに)私のドロップダウンを構築した方法です。は、カスタムデータを追加アイテムはここでAjaxを
#my_dropdown.ui.dropdown{ data: { path: objects_path } }
= f.hidden_field :my_id
%i.dropdown.icon
.default.text Text
.menu
- @collection.each do |object|
.item{ data: { value: object.id, text: object.name, color: object.color } }
= object.name
これは素晴らしい仕事をしていました。私の.item
要素には、.data('color')
のような余分なデータがありました。すべての要素を一度にロードするのではなく、ajaxのアプローチに切り替えることにしました。ここで
$.fn.api.settings.api =
'search objects': $('#my_dropdown').data('path') + '?q={query}'
$('#my_dropdown').dropdown
apiSettings:
action: 'search objects'
onChange: (value, text, selectedItem) ->
console.log selectedItem.data()
私の返却JSONは次のようになります。変更された私は選択のドロップダウン後console.log selectedItem.data()
を行うと
{
"success":true,
"results": [
{ "name":"Object #1", "value":1, "color":"blue" },
{ "name":"Object #2", "value":2, "color":"red" },
{ "name":"Object #3", "value":3, "color":"green" }
]
}
、私は以下を参照してください。
{ value: 1 }
そして、生成されたHTML次のようになります。
<div class="item" data-value="1">Object #1</div>
<div class="item" data-value="2">Object #2</div>
<div class="item" data-value="3">Object #3</div>
Ajaxを使用しているときに、data-color
などのカスタムデータ属性を含むアイテムを取得するにはどうすればよいですか?
キー 'results'を持つ配列に各要素の後にすべてのカンマがありません – Axel
質問を作成するときにそれは誤植でした。私はそれを解決するでしょう! – ardavis