Javascript 选择2无法更改值

Javascript 选择2无法更改值,javascript,jquery,jquery-select2,select2,Javascript,Jquery,Jquery Select2,Select2,我正在使用Ajax动态加载Select2输入。一切正常,但是,当我尝试选择一个不同的值时,它不会因为某些原因而改变。下面是我的问题的一个例子: 如您所见,当我单击它时,该值不会更改。为什么会发生这种情况?当我说第一个值和另一个值的ID都是1时,它可能会有所帮助,因为它的数据来自数据库中不同的表,但不同的文本。。。我怎样才能让它工作 $('.partnersupplierselect').select2({ ajax: { dataType: "json",

我正在使用Ajax动态加载Select2输入。一切正常,但是,当我尝试选择一个不同的值时,它不会因为某些原因而改变。下面是我的问题的一个例子:

如您所见,当我单击它时,该值不会更改。为什么会发生这种情况?当我说第一个值和另一个值的ID都是1时,它可能会有所帮助,因为它的数据来自数据库中不同的表,但不同的文本。。。我怎样才能让它工作

$('.partnersupplierselect').select2({
    ajax: {
        dataType: "json",
        type: "POST",
        data: function (params) {
            var group = $(this).parent().parent();
            var choice = group.find('.partnersupplier:radio:checked').val();
            return {
                term: params.term,
                '_token': token,
                'choice': choice
            };
        },
        url: '{{asset('logs/create/bmi/getpartnerssuppliers')}}',
        cache: true,
        processResults: function (data) {
            return {
                results: data
            };
        }
    },
    "language": {
        "noResults": function () {
            return "Geen partners / leveranciers gevonden.";
        }
    },
    escapeMarkup: function (markup) {
        return markup;
    }
});


$('.partnersupplier').on('change', function(){
    var group = $(this).parent().parent();
    group.find('.partnersupplierselect').select2('val', '');
    group.find('.partnersupplierselect').select2('data', null);
});
这是HTML,但这不应该是问题所在。但如果有人想看:

<div class="group">
    <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="partner">
        {{Form::radio('partnersupplier', 'partner', true, array('class' => 'mdl-radio__button partnersupplier', 'id' => 'partner'))}}
        <span class="mdl-radio__label">Test1 </span>
    </label>
    <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect margin-radio" for="supplier">
        {{Form::radio('partnersupplier', 'supplier', false, array('class' => 'mdl-radio__button partnersupplier', 'id' => 'supplier'))}}
        <span class="mdl-radio__label">Test2 </span>
    </label>
    <div class="form-group selectdiv" >
        <label for="yearlypartnersuppliermaintainance">Blablabla<br></label>
        <select id="yearlypartnersuppliermaintainance" name="yearlypartnersuppliermaintainance" class="searchselect searchselectstyle partnersupplierselect">
        </select>
    </div>
</div>
我知道了

我改变了:

$('.partnersupplier').on('change', function(){
    var group = $(this).parent().parent();
    group.find('.partnersupplierselect').select2('val', '');
    group.find('.partnersupplierselect').select2('data', null);
});
致:

出于某种原因,这是可行的,但第一件事是行不通的。奇怪,但至少我让它工作了

我想出来了

我改变了:

$('.partnersupplier').on('change', function(){
    var group = $(this).parent().parent();
    group.find('.partnersupplierselect').select2('val', '');
    group.find('.partnersupplierselect').select2('data', null);
});
致:


出于某种原因,这是可行的,但第一件事是行不通的。奇怪,但至少我让它工作了

手动更改select2值后触发更改事件。无法让它工作@Arumugaraja手动更改select2值后触发更改事件。无法让它工作@ArumugaRajaI会建议您研究原因,因为某些内容上的设置值差异与删除某些内容时的设置值差异很大空的。也考虑VAR组= $$。因此,如果您更改容器的级别,您的代码将更加健壮。我建议您研究一下为什么在某些内容上设置值的差异与删除.empty内容的差异非常大。也考虑VAR组= $$。因此,如果您更改容器的级别,您的代码将更加健壮。