我们如何确定组件上触发的更改事件是否是选择或取消选择的结果?
我们如何仅获取所选值的值或仅取消选择的值?
我们如何仅获取所选值的值或仅取消选择的值?
$("#airports-select-2").chosen().change(function(event) { console.log('select2 change',event,$(event.target).val()); });
这段代码给出了所有在多重选择组件上选择的值?这怎么可以改变,只给我新选择或取消选择的组件的价值?
解决方法
每次事件触发都可以触发:
var target = $(event.target),priorDataSet = target.data("chosen-values"),currentDataSet = target.val(); //Diff and compare the delta here. target.data("chosen-values",currentDataSet);
在更新DOM元素的数据之前,您可以通过diff来确定值集之间的增量。如果它是旧的,而不是在新的它被删除。如果它在新的,而不是在旧的,那么它被添加。
如果您需要一个如何确定两个数组之间的增量的示例,请让我知道,我也会为此举一个例子。