当另一个组合框发生变化时,如何同步两个组合框

时间:2012-11-04 07:47:48

标签: jquery jquery-ui combobox

我在同一页面上有两个组合框(用于轻松导航),我希望在更改其中一个组合框时同步它们。

这是第一个选择框的html。

<select class="alert_frequency">
  <option value="0">Immediately</option>
  <option value="1">Daily</option>
</select>

和另一个

<select class="alert_frequency">
  <option value="0">Immediately</option>
  <option value="1">Daily</option>
</select>

- 他们是一样的

以下是使用jqueryui

转换两个选择框的javascript
$('select').combobox();

所以基本上两个选择框将转换为jqueryUI组合框

我想要实现的是,当第一个组合框改变时,另一个组合框也应该改变,反之亦然。

这是我当前的代码(在单独的文件中):

$('.alert_frequency').combobox('destroy').combobox({
        selected: function( event, ui )
        {
            var val = ui.item.value;
            $('.alert_frequency').val( val ).combobox('refresh');
        }
    });

实际上,两个组合框中都设置了值,但TEXT却没有。 我指的是原来的选择框,它被变成了隐藏的组合框。 例如,如果我将第一个组合框更改为“每日”,则两个选择框的值将为1,但第二个组合框将保持为“立即”。明白这点?我只想在第一个组合框选择一个值时更改第二个组合框的TEXT。

1 个答案:

答案 0 :(得分:0)

我想我找到的解决方案使用了之前发表评论的人。不管怎样,谢谢

有人可能会发现它很有用:

$('.alert_frequency').change(function(){
  $('.alert_frequency').not(this).val( $(this).val() ).combobox('destroy').combobox();
});