当由JQuery设置时,Ipad下拉列表不显示选定的值.val()

时间:2011-07-28 15:28:08

标签: jquery ipad

我正在使用jQuery清除并设置下拉列表中的值。这适用于IE,Chrome,FireFox和Safari。但在ipad上,下拉列表将显示为空白。如果您触摸它,那么正确的值。但是你无法在默认状态下看到它。

我想也许stackoverflow用户可能已经体验过这个并且知道快速回答。谢谢!

setDropDownVal: function(element, value) {
        $(element).empty();
        var drp = $(element);
        drp.append($('<option></option>').val(value).html(value));
        drp.val(value);
    }

1 个答案:

答案 0 :(得分:2)

在尝试多种方法强制重绘后,修复它。

setDropDownVal: function(element, value) {

        $(element).empty();
        var drp = $(element);
        drp.append($('<option selected="selected" value="' + value  + '">'
                      + value +
                     '</option>')); 
        //tried this to fix ipad does not work
        var n = document.createTextNode(' ');
        drp.appendChild(n);
        (function(){n.parentNode.removeChild(n)}).defer();

    }

http://ajaxian.com/archives/forcing-a-ui-redraw-from-javascript