我使用以下代码段使用ajax远程添加新的select2标签,并且我想在新标签/删除标签事件中注册或删除多对多表中的某些记录
桌子看起来像
---------------------------------
+--voucher_id--+|+--product_id--+
---------------------------------
+ 123 | 566 +
---------------------------------
+ 156 | 566 +
---------------------------------
+ 123 | 426 +
---------------------------------
+ 156 | 516 +
---------------------------------
我的Javascript
$(".e6").select2({
tags: true,
placeholder: 'placeholder',
minimumInputLength: 1,
ajax: {
url: 'searchProducts',
dataType: 'json',
data: function(term) {
return {q: term};
},
results: function(data) {
return {results: data};
}
},
createSearchChoice: function(term, data) {
if ($(data).filter(function() {
return this.computername.localeCompare(term) === 0;
}).length === 0) {
return {id: term, name: term};
}
},
formatResult: function(item, page) {
return item.computername;
},
formatSelection: function(item, page) {
return item.computername;
}
});
在返回的json中,我也有一个产品ID,并且我正在寻找一种在select2事件上触发新ajax的方法,但是我不知道应该在哪里保存或删除表中的数据。
做一些研究后,我已经能够构建一个功能,该功能可以更新上表中的记录,并且可以正常工作
$('.e6').on("change", function(e){
console.log(ids);
console.log(gs);
$.ajax({
type: "POST",
url: '/admin/?controller=vouchers&action=updateRelatedProducts',
data: {ids: ids, gs:gs},
error: function () {
alert("error");
}
});
});
但是我在用初始现有标签填充输入字段时遇到问题
未经测试,但应该可以工作:
$('.e6').on("change", function(e){
if (e.removed) {
$.ajax({
type: "POST",
url: '/admin/?controller=vouchers&action=updateRelatedProducts',
data: {id: e.removed.id, action: remove}, //Or you can e.removed.text
error: function () {
alert("error");
}
});
}
if (e.added) {
$.ajax({
type: "POST",
url: '/admin/?controller=vouchers&action=updateRelatedProducts',
data: {id: e.added.id, action: add}, //Or you can e.added.text
error: function () {
alert("error");
}
});
}
//OR you can play with val data instead
if (e.val) {
$.ajax({
type: "POST",
url: '/admin/?controller=vouchers&action=updateRelatedProducts',
data: {val: JSON.stringify(e.val)}, //Will send all the selected values
error: function () {
alert("error");
}
});
}
}
问题内容: 我正在尝试按顺序加载一组脚本,但是onload事件对我没有触发。 我猜想当使用jQuery将元素添加到DOM时,不会触发诸如el.onload之类的本地事件。如果我使用本机,则可以正常启动。 问题答案: 您应该在事件f.ex 之后* 设置属性: * 您还应该 在 附加事件 之前 将脚本附加到DOM : 请记住,您需要检查IE支持。如果您使用的是jQuery,则还可以尝试以下方法:htt
问题内容: 使用angular.js给出以下代码 此处的Plunkr:http://plnkr.co/edit/i4MAzs HTML: Javascript: 当您点击“ Value2”标签时,click事件将触发两次。仅当ng-click附加到标签时才会发生这种情况。将其附加到输入元素后,所有内容都会按预期工作。 有人可以解释发生了什么吗? 问题答案: 另外,我还编辑了您的plnkr以显示事件
从…起https://spring.io/guides/gs/centralized-configuration/: 您可以强制bean刷新其配置(即从Config Server中提取更新的值),方法是使用Spring Cloud Config@RenewScope注释MessageRestController,然后触发刷新事件。 我们如何触发此刷新事件(对于带有
我有一个表单,其中有一条错误消息,如下例所示: http://codepen.io/anon/pen/dYWyEM?editors=101 重现问题的步骤如下: 打开coDepen链接后, 1)专注于输入领域 2) 按提交按钮 3) 由于首先触发模糊事件,因此首先隐藏错误消息,从而更改提交按钮的位置。因此,点击事件根本没有注册,我需要再次点击以提交表单。 有没有办法先发送提交事件? 我需要检测触发
问题内容: 我已使用将事件附加到文本框。它工作正常。当我想通过另一个函数以编程方式触发事件时,出现了我的问题。 我该怎么做? 问题答案: 您可以在IE 8或更低版本上使用fireEvent,在大多数。要创建您要触发的事件,可以使用或取决于浏览器。 这是一段不言自明的代码(来自原型),它在上触发事件:
本文向大家介绍input标签内容改变的触发事件介绍,包括了input标签内容改变的触发事件介绍的使用技巧和注意事项,需要的朋友参考一下 1. onchange事件与onpropertychange事件的区别: onchange事件在内容改变(两次内容有可能相等)且失去焦点时触发;onpropertychange事件是实时触发,每增加或删除一个字符就会触发,通过js改变也会触发该事件,但是该事件是I