JQuery:如何使用FancySelect插件强制"selected"选择选项?



我有一个直接的问题:如何使用FancySelect插件使"selected"成为select的一个选项?

这就是的情况:我有一个带有两个选项和两个链接的选择。链接应与select同步。这意味着当点击一个链接时,它必须使"选定"成为select的一个选项。

无论如何,重要的是要注意,这不是一个正常的选择,但我使用的是一个名为FancySelect的JQuery插件:http://code.octopuscreative.com/fancyselect/这可能是StackOverflow中其他地方的普通解决方案不适用于我的特定案例的主要原因。因此,重点不在于如何使"选定"成为一个选择的选项,而在于如何在使用FancySelect插件时使其"选定"。

在这里你可以更好地理解:

http://jsbin.com/AqoYucAG/11/edit

这是我试图使用的代码,但尚未工作:

$( "#a1" ).click(function() {
     $("#selector option:first").attr('selected','selected');
 });

你能告诉我我如何才能强制选择的选项被"选中"吗?非常感谢!

您似乎在使用一个select插件。因此,通常他们会将底层select转换为divs/span等,以获得良好的外观和感觉。因此,当你更改select选项时,你需要通知插件你已经更新了它。在这种情况下,你似乎可以触发change/update事件来这样做。当你动态地向select添加选项时,也需要做同样的事情(触发update),以便插件得到更新。

所以试试:

$( "#a1" ).click(function(e) {
   e.preventDefault();
   $("#selector").val("1").trigger('change');
});

根据如下所示的插件代码,它在触发更改时更新文本。

sel.on('change', function(e) {
    if (e.originalEvent && e.originalEvent.isTrusted) {
      return e.stopPropagation();
    } else {
      return updateTriggerText();
    }
  });

最简单的方法,您不需要任何选项标签

 $("#selector").val("myVal");

最新更新