0

我在尝试从 bootstrap 多个 selectpicker 中选择一个选项时遇到一些问题 - > http://silviomoreto.github.io/bootstrap-select/

在此处输入图像描述

当我单击例如“番茄酱”时,就像在示例中一样,在 Android 4.1.2 本机浏览器(不是 Chrome,而是系统预装的实际浏览器)上,该项目仅像示例中那样聚焦,而不是实际选中(我知道它是因为该项目绑定到 Ajax 请求,该请求将选择存储在数据库中,如果我重新加载页面,则使用重新选择的选项创建下拉列表)。无论如何,它应该是:

在此处输入图像描述

就像这张来自 Chrome的截图一样。现在这是我使用的代码:

JS(jQuery):

$('.selectpicker').selectpicker({});
$('body').on('change','.autoupdate',function() {
        var data =  $(this).attr('name') + '=' + encodeURIComponentQuote($(this).val());
        $.ajax({
            url: "script.php?action=update",
            type: "POST",
            data: data,
            cache: false,
            success: function(json) {
                if (json.err!=""){
                }
            }
        });

        return false;
    });

HTML:

<select class="selectpicker autoupdate" name="multisel" multiple data-selected-text-format="count > 3">
    <?php fillSelect($data, $selectedIds); // $data and $selectedIds recovered from DB and echoed using a PHP function ?>
</select>

我的问题是它不适用于 Android 的本机浏览器。我猜这个问题是纯客户端相关的,因为在 Chrome 上它工作得很好。

除了从 4.4 版本开始它不再是 Android 的默认浏览器之外,我是否需要了解有关 Android 的本机浏览器的一些信息?(无论如何,我仍然需要这个功能来实现向后兼容性)。

我怎样才能让它工作?

4

1 回答 1

0

我在 clickListener 处理程序的第 1359 行附近修改了插件,并进行了以下更正:

  that.$element.trigger("change");

  //that.$element
  //  .triggerNative('change');

我希望这有帮助。

于 2017-08-02T16:49:15.630 回答