清除使用jQuery Select2创建的下拉菜单

10 浏览
0 Comments

清除使用jQuery Select2创建的下拉菜单

我正在尝试使用令人惊叹的Select2库以编程方式清除一个下拉菜单。下拉菜单是通过使用Select2的query选项进行远程ajax调用动态填充的。

HTML:


Javascript:

var $remote = $('#remote');
$remote.select2({
    allowClear: true,
    minimumInputLength: 2,
    query: function(options){
        $.ajax({
            dataType: 'json',
            url: myURL + options.term,
            error: function(jqXHR, textStatus, errorThrown){
                smoke.alert(textStatus + ":服务器在解析以" + options.term + "开头的参数时返回错误");
            },
            success: function(data, textStatus, jqXHR){
                var results = [];
                for(var i = 0; i < data.length; ++i){
                    results.push({id: data[i].id, text: data[i].name});
                }
                options.callback({results: results, more: false});
            }
        });
    }
});

不幸的是,调用$remove.select2('val', '')会抛出以下异常:

Uncaught Error: 未定义initSelection(),无法调用val()

我已经尝试设置attr,设置valtext以及Select2特定的data函数。似乎无法使这个下拉菜单在单选按钮的方式下清除和工作。有人有建议吗?

0