示例http://jsfiddle.net/A4sqY/3/
这就是我认为问题所在:
function disableSelectedOption() {
$('.mySelect > option').each(function () {
$(this).removeAttr('disabled');
});
$('.mySelect > option:selected').each(function () {
var disableOption = $(this).val();
$('.mySelect > option:not(:selected)').each (function () {
if (disableOption === $(this).val()) {
$(this).attr('disabled', 'disabled');
}
});
});
}
如果您从 jQuery Mobile 1.3 更改为 1.2,它们将按预期工作。使用 1.3(必须),选择列表被禁用和选择的属性搞砸了。切换到 1.2 显示了它们应该如何工作,当您添加另一个过滤器时,以前的选择列表值在新的过滤器中是不可选择的。无论出于何种原因,在使用 1.3 时,它们都显示相同的选定值并且您无法更改它。使用 data-role="none" 似乎可以解决此问题,但会删除样式。有任何想法吗?