6

一連のカテゴリ情報を取得して<select>. jQuery UI Selectmenu を使用して選択のスタイルを設定しています。

したがって、私のjQueryは次のようになります。

//Initalise the selectmenu
$("select").selectmenu({ style: 'dropdown' });

$.get("http://localhost/somedata?cat=2", function (data) {
    $.each(data, function (index, itemData) {
        $("<option value='" + itemData.Id + "'>" + itemData.Name + "</option>").appendTo("#selectList");
    });
});

ただし、これ<select>により、jQuery UI の選択メニューが読み込まれますが、更新されません。選択メニューを「再描画」して、新しい値が選択メニューに表示されるようにするために必要なアイデアはありますか?

4

3 に答える 3

24

開発 wikiに記載されている適切な名前のrefreshメソッドを使用できます。

$("select").selectmenu({ style: 'dropdown' });

$.get("http://localhost/somedata?cat=2", function(data) {
    $.each(data, function(index, itemData) {
        $("<option value='" + itemData.Id + "'>" + itemData.Name
            + "</option>").appendTo("#selectList");
    });

    $("select").selectmenu("refresh");
});

更新:残念ながら、refresh関数は文書化されていますが、まだ実装されていないようです。もう 1 つのオプションは、ウィジェットを破棄して再作成することです。

$("select").selectmenu("destroy").selectmenu({ style: "dropdown" });
于 2012-04-23T11:57:15.897 に答える
0

エイジャックスウェイをお勧めします..これを試してみてください

$(document).ready(function(){
  $.ajax({
                   url :/somedata?cat=2,          

                   success:function(data){
                        $.each(data, function (index, itemData) {
        $("<option value='" + itemData.Id + "'>" + itemData.Name + "</option>").appendTo("#selectList");
    });

                   }
                });
$("select").selectmenu({ style: 'dropdown' });
});
于 2012-04-23T10:56:30.000 に答える