当使用jQuery将输入按钮字段添加到页面时,如何访问值

When an input button field is added to the page using jQuery, how to access values

本文关键字:何访问 访问 jQuery 输入 按钮 添加 字段      更新时间:2023-09-26

我已经根据页面中其他地方输入的值生成了输入按钮字段

 $('#saved_answers').prepend('<input type="button" name="remove_answer" value="' + answerstring + '"><br />');

之后,我试着拨打:

$("input:button[name=remove_answer]").click(function() {
  alert("Test!");
});

但什么也没发生。当我查看源代码时,我还注意到没有出现任何新代码。但是,它确实会在窗口中显示出来。

您应该使用jQuery on方法,而不是单击,因此类似

    $('#saved_answers').on('click', 'some selector for your newly added button', function(){
        alert("Test!");
    }

这将允许正确附加事件。

参见jQuery.关于方法


如果你使用这个,它应该工作:

<html>
<head>
</head>
<body>
    <div id="saved_answers"></div>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
    $(function(){
    $('#saved_answers').prepend('<input type="button" name="remove_answer" value="test" />');
    $('#saved_answers').on('click', 'input:button[name=remove_answer]', function(){
        alert($(this).val());
    });
});
</script>
</body>
</html>

如果我误解了你的问题,请纠正我。您所做的是将事件处理程序绑定到click事件

$("input:button[name=remove_answer]").click(function () {
    alert("Test!");
});

如果你想触发点击事件,你需要这个

$("input:button[name=remove_answer]").click();