Javascript 在没有事件的情况下使用.jquery.on()

Javascript 在没有事件的情况下使用.jquery.on(),javascript,jquery,html,Javascript,Jquery,Html,我有一些输入元素附加到我的HTML文档中,我需要获取这些元素的值。我知道.on()应该用来获取附加元素,但是.on()需要一个事件来激活它,而我不需要事件 下面是代码#save_设计位于页面的另一部分#fields\u cnt是保存所有附加表单的父级。reg_字段是我试图获取其值的元素。第一个子项起作用是因为加载文档时该表单存在,或者换句话说,它没有被追加。其他子级都返回未定义的值,或返回false,具体取决于输入类型和我应用于它的逻辑。这让我相信应该使用.on()或类似的东西 为了澄清,我试图

我有一些输入元素附加到我的HTML文档中,我需要获取这些元素的值。我知道.on()应该用来获取附加元素,但是.on()需要一个事件来激活它,而我不需要事件

下面是代码#save_设计位于页面的另一部分#fields\u cnt是保存所有附加表单的父级。reg_字段是我试图获取其值的元素。第一个子项起作用是因为加载文档时该表单存在,或者换句话说,它没有被追加。其他子级都返回未定义的值,或返回false,具体取决于输入类型和我应用于它的逻辑。这让我相信应该使用.on()或类似的东西

为了澄清,我试图在单击“保存”设计时获取附加输入的值。

$('#save_design').click( function() {
        group_text[form_count] = $('#fields_cnt .field_group:nth-child(' + child + ') .reg_field').val();
我已尝试按此方式替换原始的click事件。它没有起作用

$('body').on('click', '#save_design', function(){
        $('body').on('', '', function(){ 
            group_text[form_count] = $('#fields_cnt .field_group:nth-child(' + child + ') .reg_field').val(); 
        });
我尝试在没有事件或事件对象的情况下使用.on()。它也没有起作用

$('body').on('click', '#save_design', function(){
        $('body').on('', '', function(){ 
            group_text[form_count] = $('#fields_cnt .field_group:nth-child(' + child + ') .reg_field').val(); 
        });
我已经找到一个插件,应该工作

这并不理想,因为正如github自述中所述,它正在被重写。另外,SO的答案已经有3年了,所以它可能不再是正确的答案

我想找到一个更直接的解决办法。有没有办法在jQuery中以本机方式实现这一点?有没有一种方法可以在没有事件的情况下使用.on(),如果有,合适的语法是什么

更新:说明:当按下“添加字段”按钮时,会追加输入字段。它们的值在追加后会发生变化。我不希望每次更改输入值时都重新记录该值

更新以下是HTML结构,以便更好地了解我是如何定义child的

<div id="fields_cnt">
  <div id="field_group_1" class="field_group form-group">
      <input placeholder="Field" class="reg_field form-control" />
  </div>
  <!-- This is appended by jQuery. There may be multiple of these -->
  <div id="field_group_2" class="field_group form-group">
      <input placeholder="Field" class="reg_field form-control" />
  </div>
</div>

我找到了解决问题的好办法。它在选择元素时采用了不同的方法,但最终起作用并生成更简洁的代码

这里,我使用each来获取我试图选择的附加元素的每个实例。这将返回所需的值

$('.reg_field').each( function() {
    group_text[form_count] = $(this).val();
    form_count++;
});

我怀疑问题在于我以前的选择器无法使用$(this),这似乎在更多情况下适用于附加元素。在评论中提出的另一种可能性是在选择中途使用第n个孩子。我对这些问题不太清楚,希望能有更好的解释。希望这对面临同样问题的人有所帮助。此外,我也感谢您的帮助,让我将注意力集中在选择而不是绑定上。

评论不用于扩展讨论;此对话已结束。如果找到问题的答案,可以将其添加为答案,并将其标记为已接受。@j08691我无法回答我的问题,因为它已被锁定。如果它被解锁,我将彻底回答我的问题,并将其标记为已接受。如果可以,请帮助解锁。我想这可能会对将来的人有所帮助。聊天被我的公司网络屏蔽了。非常感谢。