jQuery属性选择器在Mac Safari下不能正常工作

6

我有一段代码片段,其中客户在网页上按下按钮。

这个按钮应该选择一个隐藏的选择框中的选项,并更新页面上的一些隐藏字段。它可以在所有平台和浏览器上工作,但在Mac上的Safari上无法正常工作...下拉菜单没有被更新。

追踪发现问题出在:

$('#selectSize option[id=Bespoke]').attr('selected', 'selected');

下拉菜单不更新,但其他功能都正常——仅限于Mac上的Safari浏览器。
这里是代码示例:http://jsfiddle.net/XPD25/10/
2个回答

13
你可以使用 .prop 替代:
$('#selectSize option[id=Bespoke]').prop('selected', true);

此外,ID是唯一的,因此选择器中不需要额外的位:

$("#Bespoke").prop("selected", true);

1
这是Safari和Mac设备的一个重大错误。我如何向jQuery团队和Safari团队报告此问题?据我所知,这会在Chrome / Firefox上引发问题,而.prop()似乎是最佳方法。 - TheBlackBenzKid

2
尝试这个。
$('#selectSize option[id=Bespoke]').prop('selected', true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接