Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
附加HTML后Javascript不工作_Javascript_Jquery - Fatal编程技术网

附加HTML后Javascript不工作

附加HTML后Javascript不工作,javascript,jquery,Javascript,Jquery,我在一个表单中有4个输入。单击一个按钮,它会向表单追加1个文本输入。我还在每个输入旁边有一个删除按钮,这样用户可以在需要时删除行。但我的问题是,在单击“添加更多”按钮并添加表单和新行后,删除按钮不起作用,因为javascript不知道它已被添加。我认为像jquery.live()这样的东西可以工作,但显然不赞成这样做 这是单击“添加更多输入”按钮时添加的内容 $("#nameInput").append('<tr><td><input type="text" id=

我在一个表单中有4个输入。单击一个按钮,它会向表单追加1个文本输入。我还在每个输入旁边有一个删除按钮,这样用户可以在需要时删除行。但我的问题是,在单击“添加更多”按钮并添加表单和新行后,删除按钮不起作用,因为javascript不知道它已被添加。我认为像jquery.live()这样的东西可以工作,但显然不赞成这样做

这是单击“添加更多输入”按钮时添加的内容

$("#nameInput").append('<tr><td><input type="text" id="name'+ inputNumber +'" class="names" name="name'+ inputNumber +'" placeholder="Twitch Username..." value="<?php echo $playerName5 ?>"> </td>
<td><input type="text" id="name'+ inputNumber +'Desired" class="desiredNames" name="name'+ inputNumber +'Desired" placeholder="Desired Username..." maxlength="20" value="<?php echo $desiredName5 ?>"> </td>
<td><a class="btn btn-mini delete" href="JavaScript:void(0);"><i class="icon-remove-sign icon-large"></i></a></td></tr>');
$(“#nameInput”).append(“您需要使用jQuery的方法


根据您的代码,这应该可以工作:

$(document).on('click', '.delete', function() {
    //delete code here
});

您可以使用
.on
上的
.on
来代替
.live
进行事件委派

$("#nameInput").on('click','.delete',function(){

});
您可以使用.on、.live()方法来执行此操作。您也可以通过javascript函数来执行此操作,例如:

function xyz(deleteRowID)
{
$('#deleteRowID').remove();
} 

而是在
文档上侦听click事件,如下所示:

$(document).on("click", ".delete", function() {
  // whatever you do to delete this row
})

嘿,谢谢你的帮助。我添加了这个,但我似乎仍然无法使它正常工作。我还将这个放在了文档中。ready function.Idk这为什么不起作用。
$(“.delete”)。在(“click”、“.delete”)上,function(){
你正在这样做--你应该改为这样做-
$(“#nameInput”)。在(“click”、“.delete”,function(){
function xyz(deleteRowID)
{
$('#deleteRowID').remove();
} 
$(document).on("click", ".delete", function() {
  // whatever you do to delete this row
})