2012-08-31 10 views
5

XAJAXでロードされた後にChosen jQuery pluginを選択ボックスに適用しようとしています。ここでは、コードです:jQuery Select Boxesの "Chosen" - AJAXが選択要素をロードした後にスタイリングを適用する方法

通常は、私は、ページの読み込みに開始し、クラスを持つすべての選択ボックスは、正しく適切にスタイルされています

$(document).ready(function() {   
    $(".chzn-select").chosen(); 
}); 

次に、私は新しい選択ボックスを表示するためのxajaxを使用する機能を持っていますページ上の指定されたDIVに挿入します。これは正常に動作します。しかし、それはChosenによってスタイルされていないはずです。

私はいくつかの人々のために働いたフォーラムを読んだので、そこにも遅延を追加しようとしました。それは動作しません....

function getNewSelect(property_id){ 
    xajax_getNewSelect(); 
    $(".chzn-select-ajax").delay(5).chosen(); 
} 

誰にもアイデアはありますか?

+0

を解決する私

希望のための素晴らしい作品。 ")選択した後の.width( '100%') –

答えて

4

xajaxは何をしますか?

delayは、アニメーションを遅延させるだけで、他の機能には影響しません。

あなたは、関数の使用を遅らせたい場合:

setTimeout(function() { $(".chzn-select-ajax").chosen(); }, 500); 
+0

xajaxのリンクを追加しました。 – Shackrock

+0

遅延を十分に長く設定すると、これはうまくいきますが、ちょっとばかげています...遅延が短すぎると機能しません。他のアイデア? – Shackrock

+1

それから、xajaxコールでコールバックを追加する必要があります。私はxajaxが非同期であることを認識しませんでした。 – Ariel

1
<script language="javascript" type="text/javascript"> 
    $(function() { 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(loadControlDuringAjax); 
     loadControlDuringAjax(); 
    }); 
    function loadControlDuringAjax() { 
     $(".chzn-select").chosen(); $(".chzn-select-deselect").chosen({ allow_single_deselect: true }); 
    } 
</script> 

これは私が$(」選ばれたコンテナをした、これはあなたの問題

関連する問題