Javascript 同一类调用同一函数的多个输入字段不工作

Javascript 同一类调用同一函数的多个输入字段不工作,javascript,jquery,html,laravel-5,Javascript,Jquery,Html,Laravel 5,我试图从多个输入字段调用同一个ajax函数。我跟着 链接,当我测试代码时,它对我有效。但在我看来,当我应用相同的代码时,它就不起作用了 以下是我的html代码: <div class="col-md-12 field"> <div class="row"> <div class="col-md-3"> <label for="brands[]" class="control-label" style="width:100%">BR

我试图从多个输入字段调用同一个ajax函数。我跟着 链接,当我测试代码时,它对我有效。但在我看来,当我应用相同的代码时,它就不起作用了

以下是我的html代码:

<div class="col-md-12 field">
 <div class="row">
  <div class="col-md-3">
      <label for="brands[]" class="control-label" style="width:100%">BR-NO</label>
      <input class="mytextbox" type="text" style="width:100%;" name="brands[]" required>
      <div id="brList" style="width:auto;"></div>
  </div>
  <div class="col-md-4" style="margin-top:2%;" > 
      <button class="btn btn-round btn-primary add_form_field" type="button" id="add_form_field"><i class="now-ui-icons ui-1_simple-add"></i></button> 
  </div> 
 </div>
</div>
当调用函数时,它仅由第一个输入字段调用。动态生成的其余输入字段不调用该函数。 有人能帮我解决这个问题吗

在这里,代码被剪掉了

//对于品牌添加 $document.readyfunction{ var max_字段=5; var包装器=$.field; var add_button=$。add_form_字段; var x=1; //动态生成输入字段 $add_按钮。单击功能E{ e、 防止违约; ifx您可以使用事件委托,您需要的是这个。由于您在单击按钮时添加的是文本框运行时,它不会绑定事件,所以您可以了解更多信息

演示:

$document.readyfunction{ var max_字段=5; var包装器=$.field; var add_button=$。add_form_字段; var x=1; $add_按钮。单击功能E{ e、 防止违约; 如果x您可以使用事件委托,您需要的是这个。由于您在单击按钮时添加的是文本框运行时,它不会绑定事件,所以您可以了解更多信息

演示:

$document.readyfunction{ var max_字段=5; var包装器=$.field; var add_button=$。add_form_字段; var x=1; $add_按钮。单击功能E{ e、 防止违约; 如果x您还必须将keyup事件添加到新的inputfields:

(...).find("input").keyup(function() {
  alert($(this).val());
});
$document.readyfunction{ var max_字段=5; var包装器=$.field; var add_button=$。add_form_字段; var x=1; $add_按钮。单击功能E{ e、 防止违约; 如果x您还必须将keyup事件添加到新的inputfields:

(...).find("input").keyup(function() {
  alert($(this).val());
});
$document.readyfunction{ var max_字段=5; var包装器=$.field; var add_button=$。add_form_字段; var x=1; $add_按钮。单击功能E{ e、 防止违约; 如果x添加HTML元素时,如果要在其上创建事件,则必须在新元素上创建新事件。因为您的脚本只加载一次,所以您添加的元素不会接受该事件 是班上最好的学生

例如:

  <body>
   <button id ="add_span"> ADD SPAN</button>
  <div>
    <span class="click">Click</span>
  </div>
  </body>
使用当前脚本:

   $(document).ready(function () {
    $("#add_span").click(function () {
        $('div').append("  <span class='click'>Click</span>");
    });

    $('.click').click(function () {
        alert("click");

    });
});
当你点击按钮时,它会添加一个新的跨度。但是新的span将不会有onClick事件。因此,要做到这一点,您必须重新创建您的活动。每当您想要创建一个新的HTML元素并在其上绑定一个事件时

新脚本:

    $(document).ready(function () {
    $("#add_span").click(function () {
        $('div').append("  <span class='click'>Click</span>");
        $('.click').click(function () {
            alert("click");

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

    });
});

添加HTML元素时,如果要在其上创建事件,则必须在新元素上创建新事件。因为您的脚本只加载一次,所以您添加的元素不会获取类的事件

例如:

  <body>
   <button id ="add_span"> ADD SPAN</button>
  <div>
    <span class="click">Click</span>
  </div>
  </body>
使用当前脚本:

   $(document).ready(function () {
    $("#add_span").click(function () {
        $('div').append("  <span class='click'>Click</span>");
    });

    $('.click').click(function () {
        alert("click");

    });
});
当你点击按钮时,它会添加一个新的跨度。但是新的span将不会有onClick事件。因此,要做到这一点,您必须重新创建您的活动。每当您想要创建一个新的HTML元素并在其上绑定一个事件时

新脚本:

    $(document).ready(function () {
    $("#add_span").click(function () {
        $('div').append("  <span class='click'>Click</span>");
        $('.click').click(function () {
            alert("click");

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

    });
});

您的代码可以正常工作,但警报称为字段生成的次数。我的错误是选择了包装器而不是新附加的元素。现在已修复。您的代码可以正常工作,但警报会被称为字段生成的次数。我的错误是选择包装而不是新附加的元素。现在修好了。