Php 组合两个JavaScript函数时出现的问题
我正在表单中使用自动完成和添加输入框jquery函数 它们在单独使用时工作良好 这是自动完成功能Php 组合两个JavaScript函数时出现的问题,php,jquery,Php,Jquery,我正在表单中使用自动完成和添加输入框jquery函数 它们在单独使用时工作良好 这是自动完成功能 <script type="text/javascript"> $().ready(function() { $("#tamamla").autocomplete("tamamla.php", { width: 260, matchContains: true, selectFirst: false }); }); <
<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。。。虽然很简单,但当使用$(“#添加”)添加新的输入框时,如何激活“自动完成”。单击(函数()