选择在Javascript中提交时分配的项目类

选择在Javascript中提交时分配的项目类,javascript,Javascript,您好,我正在尝试选择一个在jQuery submit上分配的类。我无法选择该类 $('form.ajax').on('submit', function(e) { $.ajax({ success: function(data) { $("#" + key).addClass("missed"); }); $('input.missed').click(function() { alert("Clicked"); }); 这是我努力实现的一个例子 假设问题是“如何在提交事

您好,我正在尝试选择一个在jQuery submit上分配的类。我无法选择该类

$('form.ajax').on('submit', function(e) {
  $.ajax({
  success: function(data) {
  $("#" + key).addClass("missed");
});

$('input.missed').click(function() {
    alert("Clicked");
});

这是我努力实现的一个例子

假设问题是“如何在提交事件后向元素添加单击处理程序?”那么答案可能是成功回调有几个语法错误,缩进表明您正在以错误的顺序管理DOM。下面是一些带注释的代码:

$('form.ajax').on('submit', function(e) {
  // Prevent an actual submission in favor of AJAX
  e.preventDefault();
  // Spawn an AJAX request to http://ecample.com/api/form_validator
  $.ajax({url: 'http://example.com/api/form_validator'})
    // Once we have a success response *then* do the following.
    .then(function(response) {
      // Use the response from the server to iterate of the keys array.
      $.each(response.keys, function(i, key) {
        // add the missing class to the element that matches the key.
        $('#element-' + key).addClass('missed');
      });
    });
});

// Assign a click event to the entire form but filter it by 'input.missing'
// this way whe an input does have the missingf class the click will happen
// otherwise it is ignored. This is call event delegation.
$('form.ajax').on('click', 'input.missed', function(e) {
  alert('Clicked');
});

这是调用。

成功
回调上缺少结束括号…并且缺少
})在ajax调用上,您不会取消提交操作。问题是什么?我创建代码只是为了示例目的,只是为了展示我在成功或不成功提交后试图实现的目标。我面临的问题是,通过代码的第一个实例添加的类无法被第二个实例找到。似乎您还没有阅读上面的答案。你说的没有第二种情况。您提供的代码没有这样的功能。即使它这样做了,执行仍然是不正常的!。或者使用jQuery的
live()
方法的事件委派。有更简单的方法吗$函数(e){$(this.removeClass(“missed”);})$函数(e){if($(this.val()====){$(this.addClass)(“missed”);}}$函数(e){$(this.removeClass(“missed”);});我不知道那是什么。创建一个jsbin.com或jsfiddle.net,这些站点更容易诊断/调试。两者都支持AJAX选项。