我在表单中有一个jquery ui自动完成小部件,我想从数据库中预先选择它的值。 我的自动完成功能按以下方式工作:id是数字,标签和值相同,是id +“ - ”+描述的串联。 选择自动填充中的值时,隐藏字段的值将设置为id的值。 然后,在提交表单时,隐藏字段值将保存到db。 当用户回到页面进行编辑时,我需要从db重新加载值:我再次设置idden字段值然后我想用id +“ - ”的串联预编译自动完成小部件的值+描述采用db。 我想我应该触发在自动完成中选择一行的事件,但我不知道该怎么做。你有什么想法? 谢谢 以下是自动填充的代码:
$('#codice_contratto').autocomplete({
source: 'do_contratto.php',
select: function(event, ui) {
$('#id_contratto').val(ui.item.id);
}
});
答案 0 :(得分:0)
在返回页面进行编辑的服务器端代码中,我建议只将具有自动完成功能的文本框以及隐藏字段的值设置为从服务器返回的正确值。那将是一个服务器端解决方案,你的HTML看起来像这样:
<input type="textbox" id="condice_contratto" value="1 - the description" />
<input type="hidden" id="id_contratto" value="1" />
当预设元素的值时,JQuery自动完成插件可以正常工作。实际上并没有“选择”其中的项目的概念。它只是位于文本框的顶部,并通过许多花哨的UI设置其值。
如果您需要客户端解决方案,请执行以下操作:
$(document).ready(function() {
$('#condice_contratto').val(current_id + ' - ' + current_description);
$('#id_contratto').val(current_id);
}
这假设变量current_id和current_description被设置为正确的值。