我有一个直接的问题:如何使用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');
});
你能告诉我,我如何强制选择一个选项“被选中”? 非常感谢你!
答案 0 :(得分:6)
好像你正在使用select插件。因此,通常他们将底层select
转换为div / span等,以获得良好的外观和感觉。因此,当您更改选择选项时,您需要通知插件说您已更新它。在这种情况下,您似乎可以触发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();
}
});
答案 1 :(得分:2)
最简单的方法是,您不需要任何选项标记
$("#selector").val("myVal");