Jquery 在选择建议字段的值后,是否有方法填充输入字段?

Jquery 在选择建议字段的值后,是否有方法填充输入字段?,jquery,asp.net-core,asp.net-core-mvc,asp.net-core-2.2,Jquery,Asp.net Core,Asp.net Core Mvc,Asp.net Core 2.2,我在一个销售系统的asp.net核心的web应用程序(MVC)中工作 在我的销售订单创建中,我有一个字段,当用户开始键入时,该字段建议要选择的文本。问题是:我需要当用户选择一个文本时,与该信息相关的其他字段会自动完成 我试着实现我的控制器和视图(如下所示),但我唯一能做的就是在不填写客户名称的情况下实现建议字段“searchCNPJ” 控制器 public IActionResult AutoComplete_Cliente() { var name = HttpContext.Re

我在一个销售系统的asp.net核心的web应用程序(MVC)中工作

在我的销售订单创建中,我有一个字段,当用户开始键入时,该字段建议要选择的文本。问题是:我需要当用户选择一个文本时,与该信息相关的其他字段会自动完成

我试着实现我的控制器和视图(如下所示),但我唯一能做的就是在不填写客户名称的情况下实现建议字段“searchCNPJ”

控制器

public IActionResult AutoComplete_Cliente()
{
      var name = HttpContext.Request.Query["term"].ToString();
      var cnpj = _context.Juridicos.Where(pf => pf.CNPJ.Contains(name)).Select(pj => pj.CNPJ).ToList();

      return Ok(cnpj);
}
看法


下面是一个简单的演示,如下所示:

1.型号:

public class Test
{
    public int Id { get; set; }
    public string CNPJCLIENTE { get; set; }
    public string NOMECLIENTE { get; set; }
}
2.意见:

<div class="form-row mt-2">
    <div class="col col1 col-sm-3 disabled">
        <label class="control-label">CNPJ/CPF CLIENTE</label>                
        <input id="searchCNPJ" type="text" name="value" class="form-control" placeholder="" />
    </div>
    <div class="col col3 col-sm-9">
        <label class="control-label">NOME CLIENTE</label>
        <input id="nomeCliente" class="form-control disabled" />
    </div>
</div>
@section Scripts{
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script>
        $(function () {          
            $("#searchCNPJ").autocomplete({
                source: '/Home/Test'              
            });
        });          
        $('#searchCNPJ').on('autocompletechange change', function () {
            var data = this.value;
                $.ajax({
                    type: "Get",
                    url: "/Home/Test2?name="+data,
                    success: function (data) {
                        console.log(data);
                        $('#nomeCliente').val(data);
                    }
               })                     
             }).change();
    </script>
}
4.结果(当您键入一封信时,它会给您提供建议。然后您选择一个项目并单击任意位置以触发更改事件):

谢谢!正是我需要的。
public class Test
{
    public int Id { get; set; }
    public string CNPJCLIENTE { get; set; }
    public string NOMECLIENTE { get; set; }
}
<div class="form-row mt-2">
    <div class="col col1 col-sm-3 disabled">
        <label class="control-label">CNPJ/CPF CLIENTE</label>                
        <input id="searchCNPJ" type="text" name="value" class="form-control" placeholder="" />
    </div>
    <div class="col col3 col-sm-9">
        <label class="control-label">NOME CLIENTE</label>
        <input id="nomeCliente" class="form-control disabled" />
    </div>
</div>
@section Scripts{
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script>
        $(function () {          
            $("#searchCNPJ").autocomplete({
                source: '/Home/Test'              
            });
        });          
        $('#searchCNPJ').on('autocompletechange change', function () {
            var data = this.value;
                $.ajax({
                    type: "Get",
                    url: "/Home/Test2?name="+data,
                    success: function (data) {
                        console.log(data);
                        $('#nomeCliente').val(data);
                    }
               })                     
             }).change();
    </script>
}
public class HomeController : Controller
{
    private readonly YourContext _context;
    public HomeController(YourContext context)
    {
        _context = context;
    }
    public IActionResult Test()
    {
        //provides suggestions while you type into the field
        var name = HttpContext.Request.Query["term"].ToString();
        var CNPJCLIENTE = _context.Tests.Where(c => c.CNPJCLIENTE.Contains(name)).Select(c => c.CNPJCLIENTE).ToList();
        return Ok(CNPJCLIENTE);
    }
    [HttpGet]
    public JsonResult Test2(string name)
    {
        //fill input fields when you select CNPJ CLIENTE
        var NOMECLIENTE = _context.Tests.Where(c => c.CNPJCLIENTE == name).Select(c => c.NOMECLIENTE).ToList();
        return new JsonResult(NOMECLIENTE);
    }
}