我有jQuery自动完成和远程验证的已知问题:如果我在自动完成控件中写入一些值,当我选择值并且控件失去焦点时,传递给远程验证的值是键入的值而不是选中的值一。
例如:
我输入 LEO ,自动填充功能会显示 LEO N和 LEO PARD,我选择了LEOPARD。触发远程验证,但是传递的值是键入的文本LEO而不是选定的文本。
我尝试了James先生在CulbertonExchange上描述的following solution,但它需要向表单提交数据,,而我仍然需要在选择或失去焦点时立即触发验证:
<!-- THE AUTO TRIGGER TO REMOTE VALIDATION IS DISABLED, BUT THIS IS NOT REQUIRED BEHAVIOUR -->
<script type="text/javascript">
window.onload = function () {
var validatorSettings = $('#myform').validate().settings;
validatorSettings.onkeyup = false;
validatorSettings.onfocusout = false;
}
</script>
我还尝试将selectFirst
和/或autoFocus
设置为true
,但它仍然不起作用:
$("#fieldtovalidate").autocomplete({
selectFirst: true,
autoFocus: false,
....
我认为我可以解决我的问题,禁用onkeyup和onfocusout事件,并在每次onClose
自动完成事件发生时重新启用它们?您如何看待这种可能的解决方案。如何实施?
提前感谢您的宝贵帮助!