jQuery自动完成将选择添加到div
我正在使用jQuery中的autocomplete插件,我想将结果的选择附加到一个div元素上,并添加其他元素:一个隐藏输入和一个文本输入 这是我的html代码: 这是我在jQuery中的函数:jQuery自动完成将选择添加到div,jquery,jquery-autocomplete,Jquery,Jquery Autocomplete,我正在使用jQuery中的autocomplete插件,我想将结果的选择附加到一个div元素上,并添加其他元素:一个隐藏输入和一个文本输入 这是我的html代码: 这是我在jQuery中的函数: $("#buscar").autocomplete({ source: "procesos/buscarPersona.php", minLength: 2, select: function( event, ui ) { $("#acreditados")
$("#buscar").autocomplete({
source: "procesos/buscarPersona.php",
minLength: 2,
select: function( event, ui ) {
$("#acreditados")
.append('<div class="col50"><p>'
+ '<input type="hidden" name="id" value="' + ui.item.id_persona + '"/>'
+ ui.item.value
+ '</p></div>'
+ '<div class="col50 f-right"><p>Monto:'
+ '<input type="text" /></p></div>');
}
});
$(“#客车”).autocomplete({
来源:“procesos/buscapersona.php”,
最小长度:2,
选择:功能(事件、用户界面){
$(“Acredados”)
.append(“”
+ ''
+ui.item.value
+“”
+“Monto:”
+“”);
}
});
到目前为止,我的代码运行良好,但是我发现很难维护显示选择结果和附加输入的append函数。有没有一种方法可以使用load()函数使其更简单?最终输出必须附加多个选择,而不仅仅是最后一个选择。不要使用load,load是Ajax,这意味着与服务器通信。对于每个选择,除非您需要一些验证或更复杂的逻辑,否则我们应该避免网络访问 如果使用load,那么对于每个选择,您将与服务器通信,然后服务器将向您传递html 我觉得这个解决方案看起来很难看,但效率更高 编辑: 单独保存此分区:
<div class="dynamiccontentcont">
<div class="col50">
<p><input type="hidden" name="id" value=""/></p>
</div>
<div class="col50 f-right">
<p>Monto:<input type="text" /></p>
</div>
</div>
蒙托:
论选择
jQuery('.dynamicContent').Clone()克隆此div
不要使用load,load是Ajax,这意味着与服务器通信,对于每个选择,除非您需要一些验证或更复杂的逻辑,否则我们应该避免网络访问 如果使用load,那么对于每个选择,您将与服务器通信,然后服务器将向您传递html 我觉得这个解决方案看起来很难看,但效率更高 编辑: 单独保存此分区:
<div class="dynamiccontentcont">
<div class="col50">
<p><input type="hidden" name="id" value=""/></p>
</div>
<div class="col50 f-right">
<p>Monto:<input type="text" /></p>
</div>
</div>
蒙托:
论选择
jQuery('.dynamicContent').Clone()克隆此div
你有没有其他方法让它更优雅?我刚刚意识到我需要在每个选择中添加一个删除按钮,这会使我的代码更难看。第二个div有一个默认类“f-right”,因此克隆将无法按预期工作。编辑了我的答案,将所有内容包装在parent和clone Parents中很棒,这看起来更干净。谢谢你有没有另一种让它更优雅的方法?我刚刚意识到我需要在每个选择中添加一个删除按钮,这会使我的代码更难看。第二个div有一个默认类“f-right”,因此克隆将无法按预期工作。编辑了我的答案,将所有内容包装在parent和clone Parents中很棒,这看起来更干净。谢谢