Php 组合两个JavaScript函数时出现的问题

Php 组合两个JavaScript函数时出现的问题,php,jquery,Php,Jquery,我正在表单中使用自动完成和添加输入框jquery函数 它们在单独使用时工作良好 这是自动完成功能 <script type="text/javascript"> $().ready(function() { $("#tamamla").autocomplete("tamamla.php", { width: 260, matchContains: true, selectFirst: false }); }); <

我正在表单中使用自动完成和添加输入框jquery函数

它们在单独使用时工作良好

这是自动完成功能

<script type="text/javascript">
$().ready(function() {
    $("#tamamla").autocomplete("tamamla.php", {
        width: 260,
        matchContains: true,
        selectFirst: false
    });
});

</script>

$().ready(函数()){
$(“#tamalla”).autocomplete(“tamalla.php”{
宽度:260,
对,,
selectFirst:false
});
});
这是添加输入框查询

<script type="text/javascript">
$(document).ready(function() {
    $("#add").click(function() {

        var intId = $("#buildyourform div").length + 1;
        var fieldWrapper = $("<div class=\"fieldwrapper\" id=\"field" + intId + "\"/>");
        var fMiktar = $("<input type=\"text\" class=\"miktar\" name=\"miktar[]\" size=\"6px\" />");          
        var fOlcu = $("<select name=\"olcu[]\" onChange='showSelected(this.value)' class=\"olcu\" id=\"olcu\">Olcu</option> /"+'<?php while($olculer=mysql_fetch_array($hangiolcu2)){ echo "<option value=\"$olculer[olcu]\">$olculer[olcu]</option>";} ?>'+"</select>");
        var fMalzeme = $("<input type=\"text\" name=\"malzeme[]\" class=\"malzeme\" id=\"tamamla\" />");
        var removeButton = $("<input type=\"button\" class=\"remove\" value=\"-\" />");
        removeButton.click(function() {
            $(this).parent().remove();
        });
        fieldWrapper.append(fMiktar);
        fieldWrapper.append(fOlcu);
        fieldWrapper.append(fMalzeme);
        fieldWrapper.append(removeButton);
        $("#buildyourform").append(fieldWrapper);
    });

});
</script>

$(文档).ready(函数(){
$(“#添加”)。单击(函数(){
var intId=$(“#buildyourform div”).length+1;
var fieldWrapper=$(“”);
var fMiktar=$(“”);
var fOlcu=$(“Olcu/”+“”+”);
var fMalzeme=$(“”);
var removeButton=$(“”);
移除按钮。单击(函数(){
$(this.parent().remove();
});
fieldWrapper.append(fMiktar);
fieldWrapper.append(fOlcu);
fieldWrapper.append(fMalzeme);
fieldWrapper.append(removeButton);
$(“#buildyourform”).append(fieldWrapper);
});
});
如何将这些脚本一起使用

  var fMalzeme = $("<input type=\"text\" name=\"malzeme[]\" class=\"malzeme\" id=\"tamamla\" />");
var fMalzeme=$(“”);
当使用#添加功能添加新的输入框字段时,“自动完成”将起作用


谢谢

您的问题是,在第一个函数中,您对具有指定ID的元素调用了
.autocomplete()
函数,但随后您将创建更多具有相同ID的元素。ID必须是唯一的,因此使用ID的元素不能超过一个。从正在创建的新HTML中删除重复ID后,在将所有内容附加到
#buildyourform
元素之前,可以在
add
函数中执行类似操作:

$("#add").click(function() {

    var intId = $("#buildyourform div").length + 1;
    var fieldWrapper = $("<div class=\"fieldwrapper\" id=\"field" + intId + "\"/>");
    var fMiktar = $("<input type=\"text\" class=\"miktar\" name=\"miktar[]\" size=\"6px\" />");          
    var fOlcu = $("<select name=\"olcu[]\" onChange='showSelected(this.value)' class=\"olcu\" id=\"olcu\">Olcu</option> /"+'<?php while($olculer=mysql_fetch_array($hangiolcu2)){ echo "<option value=\"$olculer[olcu]\">$olculer[olcu]</option>";} ?>'+"</select>");
    var fMalzeme = $("<input type=\"text\" name=\"malzeme[]\" class=\"malzeme\" />");
    var removeButton = $("<input type=\"button\" class=\"remove\" value=\"-\" />");
    removeButton.click(function() {
        $(this).parent().remove();
    });

    fieldWrapper.append(fMiktar);
    fieldWrapper.append(fOlcu);
    fMalzeme.autocomplete("tamamla.php", {
        width: 260,
        matchContains: true,
        selectFirst: false
    });
    fieldWrapper.append(fMalzeme);
    fieldWrapper.append(removeButton);
    $("#buildyourform").append(fieldWrapper);
});
$(“#添加”)。单击(函数(){
var intId=$(“#buildyourform div”).length+1;
var fieldWrapper=$(“”);
var fMiktar=$(“”);
var fOlcu=$(“Olcu/”+“”+”);
var fMalzeme=$(“”);
var removeButton=$(“”);
移除按钮。单击(函数(){
$(this.parent().remove();
});
fieldWrapper.append(fMiktar);
fieldWrapper.append(fOlcu);
fMalzeme.autocomplete(“tamalla.php”{
宽度:260,
对,,
selectFirst:false
});
fieldWrapper.append(fMalzeme);
fieldWrapper.append(removeButton);
$(“#buildyourform”).append(fieldWrapper);
});

由于
fMalzeme
是使用jQuery选择器创建的元素,因此您可以像调用任何其他选定元素一样对其调用
.autocomplete()
函数。

不能使用ID引用多个元素。ID必须是唯一的。不要使用ID。。。虽然很简单,但当使用$(“#添加”)添加新的输入框时,如何激活“自动完成”。单击(函数()