动态jQuery UI Selectmenu值不会更改可见的选定值

时间:2012-03-29 00:16:49

标签: jquery jquery-ui select-menu

我正在使用jQuery UI Selectmenu,并且无法设置所选渲染的值。它似乎更改了基础选择中的选定选项,但selectmenu不显示更改。我打电话给.selectmenu('刷新',真实),但没有任何反应。

以下是一个示例:http://jsfiddle.net/sociobit/wYBeL/

1 个答案:

答案 0 :(得分:14)

Hiya所以演示(解决方案)http://jsfiddle.net/wYBeL/43/而不是刷新尝试.selectmenu("value", selectedValue);或(Hack)http://jsfiddle.net/wYBeL/36/(保持你的selectpopup设置:)什么都有适合你

所以我使用firebug检查了DOM,它似乎是selectmenu()样式:popup添加了额外的样式层,但是#sel2值设置正确,你只需要设置正确值的正确元素。我认为当你有一个ajax填充下拉列表并刷新页面的一部分时,刷新将会起作用。

嗯,你可以尝试查看API以获取更多细节。如果你不需要selectmenu弹出窗口,那么没有它就会像@jiimw那样工作:( BUt造型很奇怪):{{3如果这对我删除帖子没有帮助,请告诉我。

额外链接:http://jsfiddle.net/wYBeL/35/

希望两者都有所帮助。

JQuery代码

$(function() {

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

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

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

        }

    });
});​

**或**

$(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);

            }

        });
    });​

干杯