web-dev-qa-db-ja.com

動的に設定されたjQueryUI Selectmenu値は、表示されている選択値を変更しません

JQuery UI Selectmenuを使用していますが、レンダリングされた選択値の設定に問題があります。基になるselectで選択されたオプションが変更されたようですが、selectmenuに変更が表示されません。 .selectmenu( 'refresh'、true)を呼び出していますが、何も起こりません。

次に例を示します。 http://jsfiddle.net/sociobit/wYBeL/

12
SocioBit

ひやそうデモ(解決策) http://jsfiddle.net/wYBeL/43/ 更新の代わりに.selectmenu("value", selectedValue); OR(ハック) http://jsfiddle.net/wYBeL/36/ (あなたのselectpopup設定を維持します:)あなたに合ったものは何でも

そこで、firebugを使用してDOMをチェックしたところ、selectmenu()スタイルのようです。ポップアップはスタイルの追加レイヤーを追加しますが、#sel2値は正しく設定されているため、正しい要素を正しい値で設定する必要があります。ドロップダウンにajaxを入力し、ページの一部を更新すると、更新が機能すると思います。

うーん、詳細についてはAPIを見てみることができます。selectmenuポップアップが必要ない場合は、それがなくても@jiimwが言ったように機能します:(バットスタイリングがおかしくなる): http:// jsfiddle.net/wYBeL/35/ ;これで問題が解決しない場合は、投稿を削除しますのでお知らせください。

追加のリンク: http://wiki.jqueryui.com/w/page/12138056/Selectmen

両方が役立つことを願っています。

JQueryコードはこちら

$(function() {

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

    $('#chksame').click(function() {
        if ($(this).is(':checked')) {
            var selectedValue = $('#sel1').val();
            $('#sel2').val(selectedValue);

            $('#sel2').selectmenu("value", selectedValue);

        }

    });
});​

** OR **

$(function() {

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

        $('#chksame').click(function() {
            if ($(this).is(':checked')) {
                var selectedValue = $('#sel1').val();
                $('#sel2').val(selectedValue);

                // set the right element with the select value
                $('#sel2-button span').text($("#sel2 option[value='" + selectedValue +"']").text());

                $('#sel2').selectmenu('refresh', true);

            }

        });
    });​

乾杯

14
Tats_innit