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

Fra*_*ssi 1 javascript jquery jquery-plugins

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

情况就是这样:我有一个有两个选项和两个链接的选择.链接应与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');
 });
Run Code Online (Sandbox Code Playgroud)

你能告诉我,我怎么能强制选择一个选择"被选中"?非常感谢你!

PSL*_*PSL 6

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

所以尝试:

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

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

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