【问题标题】:jQuery - cannot get value of dynamically added checkboxjQuery - 无法获取动态添加的复选框的值
【发布时间】:2021-06-17 07:08:58
【问题描述】:

使用 php,我添加了复选框:

<div class="member"><input type="checkbox" name="team-members[]" value="5"></div>

并且我可以在选中复选框时获取 id:

$('input[name="team-members[]"]').click(function(){
    alert($(this).val());
});

我可以通过 ajax 向数组中添加一个复选框:

<div class="member"><input type="checkbox" name="team-members[]" value="9"></div>

但是当我点击动态添加的复选框时 - 警报不会触发。 控制台没有js错误。 单击新复选框时如何获取新复选框的ID?

【问题讨论】:

标签: jquery


【解决方案1】:

对于所有动态添加的元素,您需要使用.on() 方法而不是.click()

$(document).on('click', 'input[name="team-members[]"]', function() {
    alert($(this).val());
});


function addCheckBox() {
    let div = $('.member');
    let chkBx = document.createElement('input');
    chkBx.type = "checkbox";
    chkBx.name = "team-members[]";
    chkBx.value = "10";
  
    div.append(chkBx);
}

addCheckBox();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="member"><input type="checkbox" name="team-members[]" value="5"></div>

你可以找到一个很好的解释为什么这是必要的here

【讨论】:

    猜你喜欢
    • 2014-05-16
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    相关资源
    最近更新 更多