![](/img/trans.png)
[英]I'm unable to Capture Select2 Events - I suspect I'm using the wrong jquery selector
[英]Unable to capture events in jQuery
我正在嘗試在 jQuery 中捕獲事件。 下面是我正在使用的片段。
console.log(selectElement);
selectElement.on('selected', function(event) {
console.log('Value ' + event.selected + ' selected.');
});
以下是瀏覽器控制台中的輸出。
jQuery.fn.init [select.coral-Select-select.coral-Select-select--native, prevObject: jQuery.fn.init(1), context: coral-multifield-item.coral3-Multifield-item, selector: "select[name="./selectlevel"]"]
我能夠捕獲 select 元素,但 selected 的事件處理程序不起作用。 如果您需要任何其他信息,請告訴我。
請參考js小提琴鏈接。 HTML 可能不准確,因為這些是珊瑚 ui 庫。 https://jsfiddle.net/vivekdhiman23/Le296qw1/2/
您可以在此元素上使用“更改”事件並獲取值。 例子:
$("select").on("change", function(){
console.log($(this).val());
});
為此,您需要 jQuery。 $ 在純 javascript 中將是未定義的。 jsfiddle 示例具有相同的控制台錯誤。 在你的代碼中,你需要使用這個:
$('coral-multifield[data-granite-coral-multifield-name="./navtwoitems"]').each(function() {
$(this).find("coral-multifield-item").each(function() {
var selectElement = $(this).find('select[name="./selectlevel"]');
selectElement.on("change", function() {
alert( "Handler for "+ $(this).attr("name") +" called." );
});
});
});
這樣,您將在控制台中看到選擇標簽的名稱。 我稍微修改了 jsfiddle。 你可以在這里查看: https : //jsfiddle.net/Le296qw1/8/
我希望這對你有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.