2011-12-22 20 views
1

をロードされていない要素に.buttonsetを適用します。jQueryのは、私がうまく働いて、次のコードを持って、まだ

#options div要素がロードされる前に

$("#options").buttonset(); 

を宣言するための方法はありますか?

私は成功しませんjQueryのドキュメントに目を通し、また、この答えを見つけました:私はトラックにあるかもしれないと思うが、それを完全に理解したり実装するために管理していない

Apply jQuery UI widgets to ajax loaded elements

を。

感謝、ありがとうございます。次のことを行う

答えて

0

:(コンテンツが更新された後)

$field2.on("change", "#selector", function(){ 
    $field2.load("./index.php?show-options=true", { value: $(this).val() }, function() { 
     $field2.find("#options").buttonset(); 
    }); 
}); 

は、ボタンセットに$フィールド2内のすべてのオプション要素を行います。

または代わりに、あなたは、DOM準備に設定されたボタンを作ることができます:

$(function() { $("#options").buttonset(); }); 

を更新

jQueryのセレクタ(コンテキスト与えられていない限り)DOM内の要素に取り組む、要素がない場合にはDOMでは、残念ながらjQueryは直接影響を与えることはできません。

$field2.on("change", "#selector", function() { 
    $field2.empty(); 
    $.get("./index.php?show-options=true", { value: $(this).val() }, function(data) { 
     var newContent = $(data); 
     $("#options", newContent).buttonset(); 
     $field2.empty().append(newContent); 
    }); 
}); 
+0

おかげで、私の目標は、(「#options」)を持つことですbuttonsetを()前に宣言:負荷は、その後FOUC(unstyledコンテンツのフラッシュ)を引き起こしているbuttonsetするために呼び出す場合は、次のことを試みることができます。 。負荷。 .loadの後に宣言すると、.findがなくても動作します。 – CodeVirtuoso

+0

これは、より具体的なセレクタを持つ以外は元のコードとどう違うのか分かりません。これは、元のように、ロード・ファンクションのコールバックとしてボタンセットを作成しています。 –

+0

@Freelancer idオプションを持つ要素をどの時点でボタンセットにしたいのですか? OnDomReady、#セレクタが変更されたとき、または別のイベントに応答したとき? –

関連する問題