1

私は次のコードがうまく機能しています:

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

divをロードし、その#options中のアンカータグにボタンを適用します。

宣言する方法はありますか

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

#optionsdivがロードされる前に?

私はjQueryのドキュメントを調べても成功しませんでしたが、次の答えも見つかりました。

jQueryUIウィジェットをajaxがロードされた要素に適用する

これは順調に進んでいると思いますが、完全には理解しておらず、実装することもできていません。

感謝します、ありがとう。

4

1 に答える 1

0

次のことを行います。

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

$field2 内のすべてのオプション要素をボタン セットにします (コンテンツが更新されると)。

または、dom に設定されたボタンを準備完了にすることもできます。

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

アップデート

jQuery セレクターは (コンテキストが指定されていない限り) DOM 内の要素に対して機能します。要素が DOM 内にない場合、残念ながら jQuery は直接影響を与えることができません。ボタンセットの読み込みと呼び出しが FOUC (スタイル設定されていないコンテンツのフラッシュ) を引き起こしている場合は、次のことを試すことができます。

$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);
    });
});
于 2011-12-22T15:06:52.243 に答える