Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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
运行javascript并更改元素后jquery函数出现问题_Javascript_Jquery_Html - Fatal编程技术网

运行javascript并更改元素后jquery函数出现问题

运行javascript并更改元素后jquery函数出现问题,javascript,jquery,html,Javascript,Jquery,Html,我有两个密码。第一个用于自动完成,第二个用于向表中添加行\ 在表中,我默认添加了两行。在这种情况下,autosuggest功能可以正常工作。但是在运行向表中添加行的JavaScript之后,autosuggest jquery就不起作用了。我查了很多帖子。我认为问题在于ready函数。如何纠正 代码-1 <script type="text/javascript"> $(document).ready(function(){ $

我有两个密码。第一个用于自动完成,第二个用于向表中添加行\ 在表中,我默认添加了两行。在这种情况下,autosuggest功能可以正常工作。但是在运行向表中添加行的JavaScript之后,autosuggest jquery就不起作用了。我查了很多帖子。我认为问题在于ready函数。如何纠正

代码-1

<script type="text/javascript">
            $(document).ready(function(){
                $("#tag1").autocomplete({
                    source:'getautocomplete.php',
                    minLength:1
                });
            });
    </script> 

$(文档).ready(函数(){
$(“#tag1”)。自动完成({
来源:'getautocomplete.php',
最小长度:1
});
});
代码-2

<script language="javascript">
    var i = 2;
    function changeIt(){
        var myCurrentTable = document.getElementById("foodadd");
        var txt = myCurrentTable.innerHTML;
        i++;
        if(i<=5){
        txt = txt.replace('<tr id="etc_row">', '</tr><tr id="url_row_' + i + '"><td>Food Name </strong></td><td>: </td><td align="right"><input name="tag' + i + '" id="tag'+i+'" type="text" size="40" required="required" /></td><tr id="etc_row">');
        myCurrentTable.innerHTML = txt;
    }}
    </script> 

var i=2;
函数changeIt(){
var myCurrentTable=document.getElementById(“foodad”);
var txt=myCurrentTable.innerHTML;
i++;

如果(i您应该在类选择器上调用
autocomplete()
,而不是id。然后将类
autocomplete
添加到原始标记(包含具有id
tag1
的起始单元格的HTML)。请注意,我还将
class=autocomplete
添加到
changeIt
函数中

$(document).ready(function(){
  $(".autocompleteMe").autocomplete({
    source:'getautocomplete.php',
    minLength:1
  });
});
var i = 2;

function changeIt(){
    var myCurrentTable = document.getElementById("foodadd");
    var txt = myCurrentTable.innerHTML;
    i++;
    if(i<=5){
    txt = txt.replace('<tr id="etc_row">', '</tr><tr id="url_row_' + i + '"><td>Food Name </strong></td><td>: </td><td align="right"><input class="autocompleteMe" name="tag' + i + '" id="tag'+i+'" type="text" size="40" required="required" /></td><tr id="etc_row">');
    myCurrentTable.innerHTML = txt;
}}
$(文档).ready(函数(){
$(“.autocomplete”).autocomplete({
来源:'getautocomplete.php',
最小长度:1
});
});
var i=2;
函数changeIt(){
var myCurrentTable=document.getElementById(“foodad”);
var txt=myCurrentTable.innerHTML;
i++;

如果(i)你是指
$(document).ready
?是的。在执行javascript添加行后,它不起作用。我的错误。它应该是“$(document).ready”@user3000716我很困惑。这回答了你的问题吗?如果是这样,Elclans应该将其作为答案发布,你应该接受。将其从未回答的问题列表中删除。在示例代码中,你在
#tag1
上调用autocomplete。在添加行的函数中,你给
td
的id不小于2或大于5-do您在live代码中对此进行了说明?如果没有,那就是您的问题。您应该为每个需要自动完成功能的
td
添加一个类,然后用
$('.myClass').autocomplete()调用它
。此外,由于这些是添加的元素,因此与新的
td
元素的自动完成绑定可能存在问题,但在遇到此问题之前,您需要解决此问题。