2012-02-03 6 views
2

dropkick.jsを使用して、Webアプリケーションでドロップダウンメニューを作成しようとしています。私はキーボードのサポートと良いカスタムテーマ機能のためにdropkick.jsが好きです。しかし、静的なメニューでのみ動作するようです。元の要素を動的に更新すると(knockout.jsバインディングを使用して)、dropkick.jsメニューは更新されません。dropkick.jsドロップダウンメニューのオプションを動的に更新するにはどうすればよいですか?

明確にするために、プログラムでselectedChannel(またはチャネルリスト自体)の値を変更しても、ドロップダウンが更新されないという問題があります。もう1つの方法は機能します(ドロップインをクリックし、selectedChannel変数の更新を参照してください)。

この問題の既存の解決策へのリンクか、dropkick.js(またはカスタムのknockout.jsバインディングを使用して修正します)を修正して自分自身でこの問題を解決する方法の指針のいずれかが大変ありがたいです。それとも、うまくいけばいいのですが、何か間違っていますか?

バインディングを使用knockout.js:

<select id="channelSelector" data-bind="options: channels, optionsText: 'name', optionsValue: 'id', value: selectedChannel"></select> 

セットアップコード:

ない原因その選択された値を更新するためのドロップダウンを行い

$('#channelSelector').dropkick(); 

更新コード使用knockout.js

vm.selectedChannel(vm.channels()[0].id); 

問題の例:http://jsfiddle.net/37QvY/

+0

幅の問題はどうですか?あなたの努力のための http://stackoverflow.com/questions/11769888/how-to-individually-target-multiple-dropdowns-in-css-for-dropkick-plug-in – user1318135

答えて

1

私はselectedChannel

http://jsfiddle.net/helk/AFtSS/1/

乾杯の更新に関するあなたのために実行可能なスクリプトを作ってきました!

+0

ありがとう!残念ながら、それは動作していない別の方向です:変数を変更する、UIの更新を参照してください。この問題を示すためのフィドルが更新されました。 [http://jsfiddle.net/37QvY/](http://jsfiddle.net/37QvY/) – OfficerJoe

関連する問題