EF 4 + MVC:jQuery自动完成和RemoteValidation冲突问题

时间:2012-02-17 13:35:27

标签: jquery asp.net-mvc-3 autocomplete remote-validation

我有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自动完成事件发生时重新启用它们?您如何看待这种可能的解决方案。如何实施?

提前感谢您的宝贵帮助!

0 个答案:

没有答案