Javascript 使用JQuery或在UI中取消选择选项后,无法选择该选项

Javascript 使用JQuery或在UI中取消选择选项后,无法选择该选项,javascript,html,jquery,dom,Javascript,Html,Jquery,Dom,在具有多个属性的选择标记中 当我使用旧的JQuery插件时,我发现我无法选择以前取消选择的选项。实际上,我可以看到它们是在使用该插件创建的UI中被选中的,但在我提交表单时它们并没有被选中 然后,我尝试删除选择,并在没有任何JQuery插件的情况下从控制台再次选择它 通过删除从选项中选择的属性来取消选择后: document.getElementById('option_1').removeAttribute('selected'); 我可以使用JS代码再次选择该选项,没有任何问题: docum

在具有多个属性的选择标记中

当我使用旧的JQuery插件时,我发现我无法选择以前取消选择的选项。实际上,我可以看到它们是在使用该插件创建的UI中被选中的,但在我提交表单时它们并没有被选中

然后,我尝试删除选择,并在没有任何JQuery插件的情况下从控制台再次选择它

通过删除从选项中选择的属性来取消选择后:

document.getElementById('option_1').removeAttribute('selected');
我可以使用JS代码再次选择该选项,没有任何问题:

document.getElementById('option_1').setAttribute('selected', '');
但是,当我尝试使用JQuery removeAttr或prop删除所选属性时:

它删除了选择,但我不能再次选择相同的选项。尝试了JQuery和JS:

$("#option_1").attr('selected','selected');

document.getElementById('option_1').setAttribute('selected', '');
同样,当我使用ctrl+右键单击以手动取消选择选项时,我无法使用代码选择相同的选项

一,。为什么会这样


二,。我真的很喜欢这个插件,并试图更改JQuery代码;到JS code.removeAttribute'selected';。但我犯了个错误。如何修复此问题?

您可以将代码添加到吗?我不认为这会有用,但确实有用。我已进行了更新,请参阅:。我认为问题在于multiSelect从select中获取hml并创建UL。通过使用JQuery更改selected,它可能不会更改multiSelect。我建议添加一个隐藏的输入字段来存储选定的id,您可以通过更改警报事件来添加/删除该字段。请看我可能误解了这个问题。非常感谢。但是,你知道为什么会出现第1个吗?你能将你的代码添加到吗?我认为这没有什么用处,但确实有用。我已经做了更新,请参阅:。我认为问题在于multiSelect从select中获取hml并创建UL。通过使用JQuery更改selected,它可能不会更改multiSelect。我建议添加一个隐藏的输入字段来存储选定的id,您可以通过更改警报事件来添加/删除该字段。请看我可能误解了这个问题。非常感谢。但是,你知道为什么会发生这样的事情吗?
$("#option_1").attr('selected','selected');

document.getElementById('option_1').setAttribute('selected', '');