JQuery Mobile:选择菜单刷新 true 在 iOS 上不起作用

Posted

技术标签:

【中文标题】JQuery Mobile:选择菜单刷新 true 在 iOS 上不起作用【英文标题】:JQuery Mobile: select menu refresh true does not work on iOS 【发布时间】:2015-05-12 05:09:59 【问题描述】:

我正在使用这段精彩的代码:

function rebuildFilterDialogConditions(filterPopup, jsonArray) 
    for (var i = 0; i < jsonArray.filters.length; i++) 
        var filterSelect = $('select#' + jsonArray.filters[i].filterCode);
        var filterOptionsSelect = $('select#' + jsonArray.filters[i].filterCode + ' option');
        filterOptionsSelect.remove();
        filterSelect.append('<option value="default" selected="selected" disabled="disabled">' + jsonArray.filters[i].filterName + '</option>');

        for (var j = 0; j < jsonArray.filters[i].filterValues.length; j++) 
            filterSelect.append('<option value="' + jsonArray.filters[i].filterValues[j] + '">' + jsonArray.filters[i].filterValues[j] + '</option>');
        
        filterSelect.selectmenu('refresh', true);
    

从技术上讲,它会删除select 中的每个option,用新数据替换它,然后调用selectmenu('refresh', true) 强制它重建。

这适用于 android

这不适用于 ios。不起作用意味着它不会刷新底部的“本地外观”菜单,它与以前完全相同。

当然是相同的代码。

我该怎么办?

【问题讨论】:

【参考方案1】:

错误完全在其他地方,甚至没有按照 iOS 上的实际调试指示运行。

方法:

    filterSelect.change(function() 
        ...
        bridge.callHandler("updateResultSearchFilters", result);
    );

没有对bridge 的引用,因此该方法实际上从未被调用...

【讨论】:

以上是关于JQuery Mobile:选择菜单刷新 true 在 iOS 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

jquery mobile各类组件刷新方法

jQuery Mobile 表单选择菜单

jQuery Mobile 表单选择菜单

jQuery Mobile 自定义选择菜单适用于 Mobile Safari,但不适用于 UIWebView

jQuery mobile - 动态切换选择菜单到多个

JQuery mobile 中的多个可过滤选择菜单