我正在使用 jQuery UI Selectmenu 并且无法设置渲染选择的值。似乎更改了基础选择中的选定选项,但选择菜单未显示更改。我正在调用 .selectmenu('refresh', true) 但没有任何反应。
这是一个例子:http: //jsfiddle.net/sociobit/wYBeL/
我正在使用 jQuery UI Selectmenu 并且无法设置渲染选择的值。似乎更改了基础选择中的选定选项,但选择菜单未显示更改。我正在调用 .selectmenu('refresh', true) 但没有任何反应。
这是一个例子:http: //jsfiddle.net/sociobit/wYBeL/
Hiya So演示(解决方案)http://jsfiddle.net/wYBeL/43/而不是刷新尝试.selectmenu("value", selectedValue);
或(Hack)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/Selectmenu
希望两者都有帮助。
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);
}
});
});
干杯