3

ドロップダウンボックスを実装するために selected ()を使用しています。

私のホームページでは、ドロップダウンボックスを次のコードのように設定しました

//Code in home template
.bookmark_questions
  %select
    %option{value: "xxxx"} xxxxxx
    %option{value: "xxxx"} xxxxxx
    %option{value: "xxxx"} xxxxxx
    %option{value: "xxxx"} xxxxxx

//Code in home view
render: ->
  $(@el).html @template()
  @$('select').chosen()
  @

私のホーム ビューで、「@$('select').chosen()」によって選択されたものを有効にしようとしましたが、コードを実行しようとすると、次のエラーが表示されます。

this.search_field[0] は未定義です

ここに画像の説明を入力

私の場合に選択されたアクティブ化の正しい方法は何ですか?

4

2 に答える 2

3

これはかなり古いことは知っていますが、ほぼ同じ問題があり、問題を修正したselectのは、 が にアタッチされるまでプラグインの呼び出しを待っていましたDOM

于 2012-08-21T21:24:51.450 に答える
1

DOMの準備が整う前にバックボーンが呼び出される可能性がありrender()ますが、その間、chosen指定した要素が見つかりません。これが私の解決策です:

まず、トップレベルのcoffee/jsファイルの最後にDOM対応ブロックを追加します。

$ ->
  $('.bookmark_questions select').chosen()

次に、ビューの準備ができている間にBackbone.Viewchosenにアイテムを更新するように指示させます

render: ->
  @$el.trigger('liszt:updated')
于 2012-10-02T11:07:04.927 に答える