2010-11-16 72 views
0

试图创建一个按钮,该按钮将转到具有$ selectmenu分配给它的selectmenu中的下一个选项。在jquery selectmenu中选择下一个选项

$('option:selected', 'select').removeAttr('selected').next('option').attr('selected', 'selected'); 

在标准的HTML选择菜单上工作,但不是当它有jQuery的$ selectmenu分配给它。

$('select#toolMenu').selectmenu({ 
    style:'popup', 
    width: 600, 
    menuWidth: 600, 
    maxHeight: 400, 
    format: addressFormatting, 
    change: function() { 
     var val = this.value; 
     window.location=val; 
    } 
}); 

任何想法如何我可以控制selectmenu?

任何帮助赞赏...

丹。

+0

你应该张贴的链接插件,因为它不是jQuery的核心的一部分。 – 2010-11-16 11:49:16

+0

@Nick Craver:'http:// github.com/fnagel/jquery-ui' – Lorenzo 2010-11-16 12:03:49

回答

0

的选项列表菜单会自动重新启动的下一页。

 jqueryMenu() 

     $('a.previous').click(function(){ 

      val = $('option:selected', 'select').previous('option').val(); 
      window.location=val; 

     }) 

     $('a.next').click(function(){ 

      val = $('option:selected', 'select').next('option').val(); 
      window.location=val; 

     }) 
0

更改选定的选项后,您将不得不再次调用插件函数。

该插件将基于下拉菜单添加一些样式化的HTML元素。渲染完成后,使用自己的代码很难手动更改。您可能需要再次在下拉菜单中调用该功能,这是修改后的功能。

+0

回忆创建的重复,但你的帖子让我回答这么感谢! – v3nt 2010-11-16 12:02:47

3

您应该使用插件value方法。

$("select#toolMenu").selectmenu("value", theIndex); 

其中theIndex是选项

请注意,如果你在运行时修改里面选择<option>清单你必须完全摧毁,并从头开始创建插件的从零开始的索引。例如下面的函数调用Ajax的菜单是为了装入一个新的页面为每个选项我只是抓住了原来的选项VAL()和去更新一个select元素

$.ajax({ 
    type: "post", 
    dataType: "json", 
    url: 'your_url', 
    async: false, 
    data: {}, 
    beforeSend: function() { 
     $("#mySelect").selectmenu('disable'); 
    }, 
    success: function (response) { 
     $('#mySelect').html(''); 
     $.each(response, function (i, data) { 
      $('#mySelect').append($("<option></option>").attr("value", data.Value).text(data.Text)); 
     }); 
     $('#mySelect').selectmenu('destroy').selectmenu(); 
    } 
}); 
+0

我有类似的问题。为了刷新选择菜单,您不必调用“销毁”。 只需调用$('#mySelect')。selectmenu() 当我调用“destroy”时,由于某种原因,它将下拉宽度搞乱 – 2012-06-03 11:53:55

0

@Lorenzo部分是对的。您可以使用值或索引方法更改当前的活动选项。

更改选择(添加,修改,删除选项)时,不需要销毁重新选择菜单,而是再次在已经初始化的元素上使用myElement.selectmenu()。

请参阅有关更多信息,维基:https://github.com/fnagel/jquery-ui/wiki/Selectmenu

相关问题