0

示例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" 似乎可以解决此问题,但会删除样式。有任何想法吗?

4

0 回答 0