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

时间:2013-08-07 20:11:32

标签: javascript jquery html

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

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

之后,我试着打电话:

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

但没有任何反应。当我查看源代码时,我也注意到没有新代码出现。但是,它确实在窗口中以可视方式显示。

2 个答案:

答案 0 :(得分:1)

你应该使用jQuery on方法而不是点击,所以像

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

这样可以正确附加事件。

请参阅jQuery .on method


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

<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>

答案 1 :(得分:0)

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

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

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

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