运行javascript并更改元素后jquery函数出现问题
我有两个密码。第一个用于自动完成,第二个用于向表中添加行\ 在表中,我默认添加了两行。在这种情况下,autosuggest功能可以正常工作。但是在运行向表中添加行的JavaScript之后,autosuggest jquery就不起作用了。我查了很多帖子。我认为问题在于ready函数。如何纠正 代码-1运行javascript并更改元素后jquery函数出现问题,javascript,jquery,html,Javascript,Jquery,Html,我有两个密码。第一个用于自动完成,第二个用于向表中添加行\ 在表中,我默认添加了两行。在这种情况下,autosuggest功能可以正常工作。但是在运行向表中添加行的JavaScript之后,autosuggest jquery就不起作用了。我查了很多帖子。我认为问题在于ready函数。如何纠正 代码-1 <script type="text/javascript"> $(document).ready(function(){ $
<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
添加到原始标记(包含具有idtag1
的起始单元格的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
元素的自动完成绑定可能存在问题,但在遇到此问题之前,您需要解决此问题。