Select2下拉更改事件无效
我正在使用Select2下拉菜单,我需要根据下拉选项执行一些function。
我尝试了以下代码,但它对我没用。
$eventSelect.on("select2:select", function (e) { log("select2:select", e); }); $eventSelect.on("change", function (e) { log("change"); });
任何人都可以告诉我如何才能使这项工作?
我使用的是select2版本3.3.2 ,以下代码对我有用
$("#id").on("change", function () { debugger; });
在您知道网页已完全加载后,您可以尝试声明事件,在我的情况下,这是问题所在:
$(document).ready(function(){ $('#yourselect').on("select2:select", function(e) { console.log($(this).val()); }); });
试试这个代码
$eventSelect.select2().on("change", function(e) { // mostly used event, fired to the original element when the value changes log("change val=" + e.val); })
我可以看到你从select2文档中获取了你的代码:
https://select2.github.io/examples.html#programmatic-control
您是否注意到他们在下面定义了一个函数,该代码使用了名为log()的函数。
这是function代码,你也包含了吗?
function log (name, evt) { if (!evt) { var args = "{}"; } else { var args = JSON.stringify(evt.params, function (key, value) { if (value && value.nodeName) return "[DOM node]"; if (value instanceof $.Event) return "[$.Event]"; return value; }); } var $e = $("" + name + " -> " + args + " "); $eventLog.append($e); $e.animate({ opacity: 1 }, 10000, 'linear', function () { $e.animate({ opacity: 0 }, 2000, 'linear', function () { $e.remove(); }); }); }
或者,您可以使用console.log()输出到控制台。