Javascript JQuery:如何强制选择选项为";选定的";,使用FancySelect插件?

Javascript JQuery:如何强制选择选项为";选定的";,使用FancySelect插件?,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我有一个直接的问题:如何使用FancySelect插件将“selected”作为选择选项 这就是情况:我有一个带有两个选项和两个链接的选择。链接应与选择同步。这意味着,当点击一个链接时,它必须使“选择”成为选择的一个选项 重要的是要注意,它不是一个普通的select,但我正在使用一个名为FancySelect的JQuery插件: 这可能是StackOverflow中其他地方找到的普通解决方案不适用于我的具体案例的主要原因。 所以问题不在于如何使“selected”成为select的一个选项,而在

我有一个直接的问题:如何使用FancySelect插件将“selected”作为选择选项

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

重要的是要注意,它不是一个普通的select,但我正在使用一个名为FancySelect的JQuery插件: 这可能是StackOverflow中其他地方找到的普通解决方案不适用于我的具体案例的主要原因。 所以问题不在于如何使“selected”成为select的一个选项,而在于如何在使用FancySelect插件时使其“selected”

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

这是我正在尝试使用的代码,但尚未生效:

$( "#a1" ).click(function() {

     $("#selector option:first").attr('selected','selected');
 });
你能告诉我,我怎样才能强制“选择”一个选项?
多谢各位

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

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

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

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

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

因此,请尝试:

$( "#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();
    }
  });

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

因此,请尝试:

$( "#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();
    }
  });

要更改属性,请使用方法而不是
attr
。您正在使用一些插件尝试,
$(“#选择器”).val(“1”).trigger(“更改”)
是的,没错-对于这个问题非常重要的是,您使用的不仅仅是一个普通的
元素。@PSL非常感谢您!请写下来作为答案,我会核对一下。我还编辑了这个问题,添加了一个规范,在本例中,我使用了名为FancySelecthi的插件,这里您的jsbin已更正,并正在更改属性使用方法,而不是
attr
。您正在使用一些插件尝试,
$(“#选择器”).val(“1”).trigger('change')
是的,没错-对于这个问题非常重要的是,您使用的不仅仅是一个普通的
元素。@PSL非常感谢您!请写下来作为答案,我会核对一下。我还编辑了这个问题,添加了一个规范,在本例中,我使用了名为FancySeletchi的插件,这里您的jsbin已更正,并且正在运行,这意味着我必须使用:$(“#选择器”).val(“1”);正确的?但不知何故,它现在仍在工作,这意味着我必须使用:$(“#选择器”).val(“1”);正确的?但不知何故,它现在仍在发挥作用