2012-03-17 6 views
0

私は一連の選択したドロップボックスをセットアップし、前回の選択に応じて動的に更新するコンテンツを設定しました。それは一連の選択をうまく機能します。.selectedIndexをJQueryモバイルフレームワークの選択ボックスで動作させる際の問題

私は私が子供のセレクトボックス

my_select.selectedIndex = 0; 

を使用して、すべての子どもたちをリセットしようとしているにもかかわらず、トップに戻る行くと再起動しようと変わりません。私はそれがJavascriptのエラーだと思っていましたが、JSFiddleの例が実際に働いていたのがわかりましたが、JQueryのモバイル内のコードがうまくいかず、JQuery Mobileの問題と信じていました。

手順複製する:タイプ

  • から

    1. を選択し 'ケーシング' を選択5 OD
    2. 変更タイプから
    3. をチュービング「 - 」は、私の「ライブ」jQueryのモバイル例として

      任意のアイデアをそうではない理由にする子供をリセットする -

    JSFiddleの例では、それが必要として動作しますか?

  • 答えて

    4

    jQuery Mobileの背後にあるDOMを操作していますが、何かが変更されたことをjQuery Mobileに伝えることはありません。

    あなたは根本的<select>を変更した後refresh methodを呼び出す必要があります:

    は、カスタムこれは、ネイティブのselect要素の値を反映するために選択したカスタムを更新するために使用される

    を選択更新をリフレッシュします。選択項目のオプション数がカスタムメニューの項目数と異なる場合は、カスタムメニューが再構築されます。

    は、だから、このようなものを追加する必要があります。

    $('#od').selectmenu('refresh'); 
    

    ご変更ハンドラの下部にあります。 。リフレッシュする要素、もちろん、あなたがにいるどの変更ハンドラに依存しない

    デモ:それがすべてではjQuery Mobileを使用しなかったのでhttp://jsfiddle.net/ambiguous/n3VXe/

    はあなたのフィドルがうまく働きました。

    また、2012年にonchange属性を使用しないでください.jQueryをロードしているので、関心のあるイベントにハンドラをバインドする必要があります。直接DOM操作をすべてjQueryも同様です。

    +0

    パーフェクト - 回答とアドバイスありがとうございます – vinomarky

    関連する問題