Javascript 使用jquery ui自动完成多个输入字段
大家下午好 我花了很多时间,阅读了stackoverflow上的所有帖子。。。而且我无法使autocomplete与multilpe输入字段一起工作。 我试图为每个输入指定一个“autoc”类,我为每个字段使用不同的id(实际上是php循环生成字段的inedx)。 我不要求别人为我做这项工作。。。。这只是一个有效的例子 提前谢谢 PS:我为我糟糕的英语道歉 下面是一段html:Javascript 使用jquery ui自动完成多个输入字段,javascript,php,jquery,autocomplete,Javascript,Php,Jquery,Autocomplete,大家下午好 我花了很多时间,阅读了stackoverflow上的所有帖子。。。而且我无法使autocomplete与multilpe输入字段一起工作。 我试图为每个输入指定一个“autoc”类,我为每个字段使用不同的id(实际上是php循环生成字段的inedx)。 我不要求别人为我做这项工作。。。。这只是一个有效的例子 提前谢谢 PS:我为我糟糕的英语道歉 下面是一段html: <input id="search_ctO" class="autoc" type="text" nam
<input id="search_ctO" class="autoc" type="text" name="search_ct[]">
<input id="search_ct1" class="autoc" type="text" name="search_ct[]">
<input id="search_ct2" class="autoc" type="text" name="search_ct[]">
....
<input id="search_ctn" class="autoc" type="text" name="search_ct[]">
如果不知道传递给
autocomplete
源代码的确切HTML和对象数组,就很难准确编写代码
但是,您已经询问了对多个字段使用autocomplete
,因此这里只是一个简单的示例:
HTML
<input id="search_ctO" class="autoc" type="text" name="search_ct[]"/>
<input id="search_ct1" class="autoc" type="text" name="search_ct[]"/>
<input id="search_ct2" class="autoc" type="text" name="search_ct[]"/>
<input id="search_ctn" class="autoc" type="text" name="search_ct[]"/>
若你们想在回答中包含任何其他内容,请随时发表评论
编辑
你的代码
$('.autoc').on("focus", function() {
$(this).autocomplete({
minLength: 2,
source: 'liste_contact.php',
select: function( event, ui ) {
$('.autoc #search_ct').val( ui.item.label );
$(".autoc #contact_id").val( ui.item.value );
$(".autoc #contact_description").val( ui.item.desc );
return false;
},
change: function() {
var servi = $("#service_id").val();
var hop = $('#hop').val();
var contact = $("#contact_id" ).val();
$.ajax({
url: 'ajout_contact.php',
data: "serv="+servi+"&hopit="+hop+"&contact="+contact+"",
success: function() {
$("#search_ct").val('');
}
});
}
});
});
事实上,自动完成的下拉列表运行良好。。。我的问题是“如何重新映射所选项目”。。。对不起,我的需求表达不正确。你应该为此写一个相应的问题。你们应该告诉我们你们到底在哪里面对问题,即使是非常微小的问题。因此,请明确说明您希望对所选项目执行什么操作。此外,代码中还存在语法错误。如果不是错别字,请先更正。我为迟来的复出道歉。。。按照你的建议更正我的代码,使这些东西工作起来很有魅力。谢谢。您认为发布工作代码和注释有用吗?如果是的话,怎么做(我是一个stackoverflow neebie)一般来说,如果你的问题得到了答案,这是一个回答你自己的问题并将其标记为接受答案的一般方式。由于您的代码中存在语法错误,我将在这里添加代码本身,如果您愿意,可以将其标记为已接受或创建自己的正确答案。这将有助于其他读者了解本文中的解决方案。@j809我喜欢类定义。我要去工作。我想添加一个selection语句,以确定哪个字段正在调用autocomplete jquery函数。我该怎么做?
var tags = ["abc","def","xyz"];
$('.autoc').on("focus", function(){
$(this).autocomplete({
minLength: 2,
source: tags
});
});
$('.autoc').on("focus", function() {
$(this).autocomplete({
minLength: 2,
source: 'liste_contact.php',
select: function( event, ui ) {
$('.autoc #search_ct').val( ui.item.label );
$(".autoc #contact_id").val( ui.item.value );
$(".autoc #contact_description").val( ui.item.desc );
return false;
},
change: function() {
var servi = $("#service_id").val();
var hop = $('#hop').val();
var contact = $("#contact_id" ).val();
$.ajax({
url: 'ajout_contact.php',
data: "serv="+servi+"&hopit="+hop+"&contact="+contact+"",
success: function() {
$("#search_ct").val('');
}
});
}
});
});