要在mvc中单击提交按钮时检查JQuery自动完成是否有有效数据

要在mvc中单击提交按钮时检查JQuery自动完成是否有有效数据,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我想在单击按钮时验证自动完成功能中的用户输入。若用户从数据库中选择了正确的数据,则会显示成功消息,否则会显示请选择正确的数据。目前,相同的功能正在处理响应,但我希望在单击提交按钮时使用相同的功能。任何人请引导我 $("#txtemployee").autocomplete({ source: function (request, response) { $.ajax({ url: '/Home/AutoComplete/',

我想在单击按钮时验证自动完成功能中的用户输入。若用户从数据库中选择了正确的数据,则会显示成功消息,否则会显示请选择正确的数据。目前,相同的功能正在处理
响应
,但我希望在单击提交按钮时使用相同的功能。任何人请引导我

 $("#txtemployee").autocomplete({
        source: function (request, response) {
           $.ajax({
                url: '/Home/AutoComplete/',
                data: "{ 'prefix': '" + request.term + "'}",
                dataType: "json",
                type: "Post",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    response($.map(data, function (item) {
                  return {
                            value: item.empName,
                            id: item.empId
                        };
                    }))
                },
                error: function (response) {
                    alert(response.responseText);
                },
                failure: function (response) {
                    alert(response.responseText);
                }
            });
        },
        select: function (event, ui) {
             $("#hiddenempId").val(ui.item.value);
             $("#hiddenempId").val(ui.item.id);

        },
        response: function (event, ui) {
        if (!ui.content.length) {
             $("#message").text("No results found");               
        }
        else {
            $("#message").empty();
        }
    },
        minLength: 3
    });
});
输出:

我的
.cshtml
外观:

@using (Html.BeginForm("Index", "Home", FormMethod.Post))
 {
     @Html.TextBoxFor(m => m.txtName)
     @Html.HiddenFor(m => m.hiddenFId)
     @Html.ValidationMessageFor(m => m.txtName, "", new { @class = "error" })                      
     <span id="message"></span>                                    
     <button type="submit" id="submit">Produce Page</button>

 }

用户仍然可以单击
生成页面
。我想限制用户点击
生成页面
按钮,因为输入的数据无效。如何做到这一点。请帮帮我。谢谢。

如果没有结果,请禁用按钮

response: function (event, ui) {
    if (!ui.content.length) {
         $("#message").text("No results found");
        $("#submit").attr('disabled', true);               
    }
    else {
        $("#message").empty();
        $("#submit").attr('disabled', false); 
    }


}))

谢谢你,迪普。我会试试看结果。嗨,迪普,第一部分有效,但第二部分无效。还有一件事,尽管禁用了按钮,但如果用户输入了一些随机数据,我们是否可以在单击按钮时显示消息。请指导我。您是否能够将数据发布到“/Home/AutoComplete/”您可以使用第二种方法进行此操作。首先,您检查单击事件是否正常。如果没有,请尝试此事件
response: function (event, ui) {
    if (!ui.content.length) {
         $("#message").text("No results found");
        $("#submit").attr('disabled', true);               
    }
    else {
        $("#message").empty();
        $("#submit").attr('disabled', false); 
    }
  $("#submit").click(function () {

        $.ajax({
            url: '/Home/AutoComplete/',
            data: "{ 'prefix':  $("#txtName").val()}",
            dataType: "json",
            type: "Post",
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                response($.map(data, function (item) {
              return {
                        value: item.empName,
                        id: item.empId
                    };
                }))
            },
            error: function (response) {
                alert(response.responseText);
            },
            failure: function (response) {
                alert(response.responseText);
            }
        });