WordPress与select2和Toastr获取上一个选定值会破坏select2行为
我正在使用WordPress,我已经成功地使用了和库 基本上我有一个下拉列表,如果我改变了,Toastr会问我是否需要更新 如果我点击“是”,那么它将更新,如果我点击“否”,那么我的下拉列表将设置以前的值,并且不会发生任何事情 目前,它正在选择上一个值,但如果我打开同一个下拉列表,尝试单击它进行搜索,它会说“结果无法加载” 这是我到目前为止所做的JS代码WordPress与select2和Toastr获取上一个选定值会破坏select2行为,wordpress,jquery-select2,toastr,Wordpress,Jquery Select2,Toastr,我正在使用WordPress,我已经成功地使用了和库 基本上我有一个下拉列表,如果我改变了,Toastr会问我是否需要更新 如果我点击“是”,那么它将更新,如果我点击“否”,那么我的下拉列表将设置以前的值,并且不会发生任何事情 目前,它正在选择上一个值,但如果我打开同一个下拉列表,尝试单击它进行搜索,它会说“结果无法加载” 这是我到目前为止所做的JS代码 var prevSubVarClientId; jQuery('.mySubscription').select2({ allowCl
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..并且可能在wordpressjQuery('.mySubscription')中。选择2({
当我们即将单击并打开下拉列表时,此调用需要。我必须使用js数据示例ajax
此类吗?不。js数据示例ajax
类是我在示例代码段中使用的。请将我的示例代码发布到演示wordpress页面中,看看它是否正常工作。