0

当我遇到问题时,我在 stackoverflow 上帮助另一个用户 - 我解释了如何解决问题,但我无法让我的代码(我想作为示例添加)实际工作。我对 jQuery 很陌生,所以即使我了解基础知识以及可以做什么和不可以做什么,我仍然发现自己在为简单的任务而苦苦挣扎。

在这种情况下,我试图创建两个输入字段,都使用标记系统(选择 jQuery)。两个输入具有相同的选项列表,我希望当您为第一个输入输入一个项目时,它也会自动将其添加到第二个输入。这个想法是您可以从第二个列表中删除您想要的任何项目,而不会影响第一个。

你可以在这个 jsfiddle中看到我的尝试。我尝试从第一个输入中提取值并对其进行循环,但由于某种原因,它并没有真正循环超出第一项。

我还尝试将第一项应用于第二个列表,如下所示:

$('#shipping option[text='+value.value+']').attr('selected', 'selected');

在循环执行此操作之后:

$(".chosen-select").trigger('chosen:updated');

我知道这在第一个项目之外不起作用,但它甚至不适用于那个。我对接下来应该做什么感到很困惑。很明显,选择的输入改变了它,它的行为不像通常的那样,但我不明白如何解决这个问题。任何帮助将非常感激!

4

1 回答 1

0

使用这一行:

$('#shipping option[value="'+value+'"]').prop('selected', true);

请注意,如果您选择“美国”或“英国”,它们将在Chosen插件中显示两次,因为这些选项在您的 html 中存在两次,但您可以使用:first选择器来避免这种情况

$('#shipping option[value="'+value+'"]:first').prop('selected', true);

编辑

这是代码工作:http: //jsfiddle.net/rf90210/uZBXM/2/

于 2013-08-25T22:15:55.580 回答