无法捕获jQuery中的事件

时间:2018-09-24 10:45:11

标签: javascript 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的事件处理程序不起作用。如果您需要其他任何信息,请告诉我。 enter image description here

请参阅js小提琴链接。 HTML可能不正确,因为它们是珊瑚ui库。 https://jsfiddle.net/vivekdhiman23/Le296qw1/2/

1 个答案:

答案 0 :(得分:1)

您可以在此elemenet上使用“ change”事件并获取值。示例:

$("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." );
                    });
            });
      });

这样,您将在控制台中看到select标签的名称。 我对jsfiddle进行了一些修改。您可以在这里检查: https://jsfiddle.net/Le296qw1/8/

我希望这对您有用。