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

时间:2015-03-10 16:35:22

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

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

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);
    }
}

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

适用于Android。

这在iOS上无效。不起作用意味着它不会刷新本土外观&#34;在底部的菜单,它保持与以前完全相同。

当然是相同的代码。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

错误完全在别处,这甚至没有按照iOS上的实际调试指示运行。

方法:

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

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