WordPress与select2和Toastr获取上一个选定值会破坏select2行为

WordPress与select2和Toastr获取上一个选定值会破坏select2行为,wordpress,jquery-select2,toastr,Wordpress,Jquery Select2,Toastr,我正在使用WordPress,我已经成功地使用了和库 基本上我有一个下拉列表,如果我改变了,Toastr会问我是否需要更新 如果我点击“是”,那么它将更新,如果我点击“否”,那么我的下拉列表将设置以前的值,并且不会发生任何事情 目前,它正在选择上一个值,但如果我打开同一个下拉列表,尝试单击它进行搜索,它会说“结果无法加载” 这是我到目前为止所做的JS代码 var prevSubVarClientId; jQuery('.mySubscription').select2({ allowCl

我正在使用WordPress,我已经成功地使用了和库

基本上我有一个下拉列表,如果我改变了,Toastr会问我是否需要更新

如果我点击“是”,那么它将更新,如果我点击“否”,那么我的下拉列表将设置以前的值,并且不会发生任何事情

目前,它正在选择上一个值,但如果我打开同一个下拉列表,尝试单击它进行搜索,它会说“结果无法加载”

这是我到目前为止所做的JS代码

var prevSubVarClientId;
jQuery('.mySubscription').select2({
    allowClear: true,
    placeholder: "",
    
    //minimumInputLength: 3,
    ajax: {
        type: "POST",
        url: '/wp-admin/admin-ajax.php',
        dataType: 'json',
        delay: 250, // delay in ms while typing when to perform a AJAX search
        data: function (params, page) {
        
        return {
            action: 'list_posts',
            q: params.term,
        };
        },
        processResults: function( data ) {
        
        var options = [];
        if ( data ) {          
            jQuery.each( data, function( index, text ) { 
            
            options.push( { id: text['id'], text: text['name']  } );
            });

        }
        return {
            results: options
        };
        },
        cache: true
    }
});

jQuery('.mySubscription').on('select2:selecting', function (evt) {
  prevSubVarClientId = jQuery('select').val();
});

jQuery('.mySubscription').change(function() {
    var $this = jQuery(this);
     jQuery(this).blur();
      alertify.confirm("Are you sure you want to transfer?",
  function(e){
        var subscriptionId = jQuery($this).data("subscription-id");
        var url = jQuery($this).data("ajax-url");        
        var userId = jQuery($this).val();        
        jQuery.ajax({
           type: "POST",
           url: url,           
            data : {
                    action : 'update_var_client_user_id',
                    userId : userId,
                    subscriptionId : subscriptionId
            },
           success: function(data)
           {  
            var data = JSON.parse(data);      
            toastr["success"]("Transferred Successfully." );          
            
           }
         });
  },
  function(){
    
    jQuery($this).val(prevSubVarClientId);    
    jQuery($this).select2().trigger('change');
    
  }).set({title:"Alert!!!"}).set({ labels:{ok:'Yes', cancel: 'No'} });

    
});
正如您所看到的,我有这个类的
prevSubVarClientId
变量和
mySubscription
下拉列表

jQuery('.mySubscription').change(function(){
在这里您可以看到我正在打开
alertify
确认框,如果我单击“否”,那么我正在执行下面的代码

jQuery($this).val(prevSubVarClientId);    
jQuery($this).select2().trigger('change');
但是,每当我试图再次打开下拉列表时,我会得到下面的错误

有人能告诉我我做错了什么吗

谢谢“无法加载结果”。仅在返回数据为空或未找到时显示

我在下面的代码片段中测试了您的代码,运行良好

$(“.js数据示例ajax”).select2();
jQuery('.js数据示例ajax').on('select2:selection',函数(evt){
prevSubVarClientId=jQuery('select').val();
});
jQuery('.js数据示例ajax').change(函数(){
var$this=jQuery(this);
jQuery(this.blur();
alertify.confirm(“您确定要转帐吗?”,
职能(e){
console.log('change');
},函数(){
console.log(“无更改”);
jQuery($this.val)(prevSubVarClientId);
jQuery($this.select2().trigger('change');
}).set({title:“Alert!!!”}).set({标签:{确定:'Yes',取消:'No'}});
});
.select2 container、.select2 container——打开。select2下拉菜单——在下面{
宽度:200px!重要;
}

基础知识
BCA
MNP
PQR

我尝试了你的代码,但没有工作..我删除了
jQuery('.mySubscription')的所有代码。选择2({
并仅将此
jQuery(.mySubscription”)。选择2();
放入
jQuery(文档)中。就绪(函数(){
但是在刷新页面之后..我没有得到任何数据。我正在使用wordpress..并且可能在wordpress
jQuery('.mySubscription')中。选择2({
当我们即将单击并打开下拉列表时,此调用需要。我必须使用
js数据示例ajax
此类吗?不
。js数据示例ajax
类是我在示例代码段中使用的。请将我的示例代码发布到演示wordpress页面中,看看它是否正常工作。