【问题标题】:JQuery Mobile: select menu refresh true does not work on iOSJQuery Mobile:选择菜单刷新 true 在 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。不起作用意味着它不会刷新底部的“本地外观”菜单,它与以前完全相同。

当然是相同的代码。

我该怎么办?

【问题讨论】:

    标签: android ios jquery-mobile jquery-mobile-select


    【解决方案1】:

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

    方法:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-24
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      相关资源
      最近更新 更多