我正在使用jQuery中的自动完成插件,我想将我的结果选择附加到带有其他元素的div元素:隐藏输入和文本输入。
这是我的HTML代码:
这是我在jQuery中的功能:
$("#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>');
}
});
到目前为止,我的代码工作正常,但我发现难以维护显示选择结果和附加输入的追加功能。有没有办法可以使用load()函数来使这更简单?最终输出必须附加多个选择,而不仅仅是最后一个选择
答案 0 :(得分:1)
不要使用load,load是Ajax,意思是与服务器通信,除非你需要一些验证或更复杂的逻辑,否则对于每个选择,我们应该避免网络访问。
如果您使用加载,那么对于每个选择,您将与您的服务器通信,然后它将通过您的html。
恕我直言,这个解决方案看起来很难看,但更有效率。
编辑:
分开保留这个div:
<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('.dynamiccontentcont').clone()