如何获取 select2:unselect 的值
How to get value of select2:unselect
如何使用 select2:unselect
获取 Select2 中未选择的选项的值
$('#mySelect').on("select2:unselect", function(e){
var unselected_value = $('#mySelect').val(); // using this shows 'null'
// or using below expression also shows 'null'
var unselected_value = $('#mySelect :selected').val();
alert(unselected_value);
}).trigger('change');
在上面的代码警报中显示 'null'
我需要使用 select2:unselect
,因为 'change' 事件会同时检测到 :select
和 :unselect
。
最后,我找到了解决方案,那就是:
未选中选项的值仅在未选中之前可用。不在 select2:unselect
而在 select2:unselecting
现在代码将是:
$('#mySelect').on("select2:unselecting", function(e){
var unselected_value = $('#mySelect').val();
alert(unselected_value);
}).trigger('change');
实际上,数据值在事件对象中。如果您正在处理 select2 多个值,这将很有用。
function(e){
console.log(e.params.data)
}
这是一个较旧的问题,但也许这个答案会对某人有所帮助。我将 Select2 v4.0.3 与多个 values/tags 一起使用,只需要删除特定的 ID。我真的不想使用其他答案中提到的 unselecting
事件。在 unselect
事件中没有 args
对象,因此您可以像这样获取要删除的对象的 ID...
jQuery('.mySelect2').on("select2:unselecting", function(e){
return true; // I don't use this unselecting event but here is how you could use it to get the ID of the one you are trying to remove.
console.log(e);
console.log(e.params);
console.log(e.params.args.data);
console.log(e.params.args.data.id);
//console.log(e.params.args.data.tag); data.tag is specific to my code.
});
jQuery('.mySelect2').on('select2:unselect', function (e) {
console.log(e);
console.log(e.params);
console.log(e.params.data);
console.log(e.params.data.id);
//console.log(e.params.data.tag); data.tag is specific to my code.
/*
Now you can do an ajax call or whatever you want for the specific
value/tag that you are trying to remove which is: e.params.data.id.
*/
如果您使用多个标签,获取特定的选项值:
var unselected_value = $('#mySelect option:selected').val();
alert(unselected_value);
这是我更改 SVG 地图中城市背景颜色以查找特定城市名称的解决方案。希望对您有所帮助
$(".js-example-diacritics").on("select2:unselect", function(evt) {
var element = evt.params.data.element;
townColor(element.text, unHighLightColor);
});
我正在向方法 townColor() 传递未选中的 select2 元素的文本(城市名称)和名为 unHighLightColor 的常量,其中包含颜色名称。
在 Select2 4.0.3 上,我发现 e.params
已更改。因此,要从取消选择的项目中找到 id,请像这样更改您的代码:
$('select').on('select2:unselecting', function (e) {
var id = e.params.args.data.id; //your id
alert('Are You Sure ?');
e.preventDefault();
// Do something with your id
});
未选中的元素正在通过 e.params.data。我们可以使用 'id' 访问它的值,如果您需要文本,可以使用 'data.text'.
$("select").on("select2:unselect", function (e) {
var value= e.params.data.id;
alert(value);
});
使用 $(this).val(),这将 return 你在 select
中标记的最后一个值
$('#mySelect').on("select2:unselecting", function(e){
alert($(this).val());
})
@Mahmaood ali
Thank you for your solution it worked like a charm for me.
致@Vipin Kr。辛格问题。
$('#mySelect').on("select2:unselect", function(e){
var unselected_value = e.params.data.id;
})
$('#mySelect').on("select2:select", function(e){
var selected_value = e.params.data.id;
})
这样您一次只能获取一个已选择或未选择的值。
如何使用 select2:unselect
$('#mySelect').on("select2:unselect", function(e){
var unselected_value = $('#mySelect').val(); // using this shows 'null'
// or using below expression also shows 'null'
var unselected_value = $('#mySelect :selected').val();
alert(unselected_value);
}).trigger('change');
在上面的代码警报中显示 'null'
我需要使用 select2:unselect
,因为 'change' 事件会同时检测到 :select
和 :unselect
。
最后,我找到了解决方案,那就是:
未选中选项的值仅在未选中之前可用。不在 select2:unselect
而在 select2:unselecting
现在代码将是:
$('#mySelect').on("select2:unselecting", function(e){
var unselected_value = $('#mySelect').val();
alert(unselected_value);
}).trigger('change');
实际上,数据值在事件对象中。如果您正在处理 select2 多个值,这将很有用。
function(e){
console.log(e.params.data)
}
这是一个较旧的问题,但也许这个答案会对某人有所帮助。我将 Select2 v4.0.3 与多个 values/tags 一起使用,只需要删除特定的 ID。我真的不想使用其他答案中提到的 unselecting
事件。在 unselect
事件中没有 args
对象,因此您可以像这样获取要删除的对象的 ID...
jQuery('.mySelect2').on("select2:unselecting", function(e){
return true; // I don't use this unselecting event but here is how you could use it to get the ID of the one you are trying to remove.
console.log(e);
console.log(e.params);
console.log(e.params.args.data);
console.log(e.params.args.data.id);
//console.log(e.params.args.data.tag); data.tag is specific to my code.
});
jQuery('.mySelect2').on('select2:unselect', function (e) {
console.log(e);
console.log(e.params);
console.log(e.params.data);
console.log(e.params.data.id);
//console.log(e.params.data.tag); data.tag is specific to my code.
/*
Now you can do an ajax call or whatever you want for the specific
value/tag that you are trying to remove which is: e.params.data.id.
*/
如果您使用多个标签,获取特定的选项值:
var unselected_value = $('#mySelect option:selected').val();
alert(unselected_value);
这是我更改 SVG 地图中城市背景颜色以查找特定城市名称的解决方案。希望对您有所帮助
$(".js-example-diacritics").on("select2:unselect", function(evt) {
var element = evt.params.data.element;
townColor(element.text, unHighLightColor);
});
我正在向方法 townColor() 传递未选中的 select2 元素的文本(城市名称)和名为 unHighLightColor 的常量,其中包含颜色名称。
在 Select2 4.0.3 上,我发现 e.params
已更改。因此,要从取消选择的项目中找到 id,请像这样更改您的代码:
$('select').on('select2:unselecting', function (e) {
var id = e.params.args.data.id; //your id
alert('Are You Sure ?');
e.preventDefault();
// Do something with your id
});
未选中的元素正在通过 e.params.data。我们可以使用 'id' 访问它的值,如果您需要文本,可以使用 'data.text'.
$("select").on("select2:unselect", function (e) {
var value= e.params.data.id;
alert(value);
});
使用 $(this).val(),这将 return 你在 select
中标记的最后一个值$('#mySelect').on("select2:unselecting", function(e){
alert($(this).val());
})
@Mahmaood ali Thank you for your solution it worked like a charm for me.
致@Vipin Kr。辛格问题。
$('#mySelect').on("select2:unselect", function(e){
var unselected_value = e.params.data.id;
})
$('#mySelect').on("select2:select", function(e){
var selected_value = e.params.data.id;
})
这样您一次只能获取一个已选择或未选择的值。