【问题标题】:How to use JSON result from autocomplete as variable for another autocomplete如何使用来自自动完成的 JSON 结果作为另一个自动完成的变量
【发布时间】:2022-10-23 02:08:23
【问题描述】:

我想请你帮忙弄清楚,如何使用第一个完成的结果,它在另一个自动完成中给我一个客户编号作为#select_client_id。 在一页上,我从自动完成列表中选择顺序:

    $( function() {
    $( "#select_order" ).autocomplete({
        source: function( request, response ) {

            $.ajax({
                url: "data/orderData.php",
                type: 'post',
                dataType: "json",
                data: {
                  find_order_out: request.term
                },
                success: function( data ) {
                    response( data );
                }
            });
        },
        select: function (event, ui) {
            $('#select_order').val(ui.item.label); // display the selected text
            $('#select_order_id').val(ui.item.value); // save selected id to input     
            $('#select_client_id').val(ui.item.client_id);
            return false;
        }
    });
  });

然后是另一个输入字段,它正在为这个订单选择包,我正在使用客户端 ID,从第一个自动完成开始:

$("#select_package").autocomplete({
   source: function( request, response ) {
 $.ajax({
  url: "data/orderData.php",
  type: 'post',
  dataType: "json",
  data: {
        find_client_package_on_storage: request.term, client: client
        },
  success: function( data ) {
        response( data );
        console.log(client);
  }
 });
},
select: function (event, ui) {
 $('.select_package').val(ui.item.label); 
 $('.select_package_id').val(ui.item.value); 
 return false;
}
});

目前,我只有一个客户端,因此变量由以下方式声明:

  <script>
    client="1";
  </script>

我怎样才能正确地做到这一点? :)

【问题讨论】:

    标签: ajax autocomplete


    【解决方案1】:

    嗯,这比平时要花一点时间,但不是事先弄清楚 :)

    答案很简单:)

    在#select_order 自动完成中,我添加了:

     select: function (event, ui) {
                $('#select_order').val(ui.item.label);
                $('#select_order_id').val(ui.item.value);    
                $('#select_client_id').val(ui.item.client_id);
                **client_number=$("#select_client_id").val();**
                return false;
    

    并在 body 的末尾设置一个变量声明:

          <script>
            let client_number = 0;
          </script>
    

    这解决了我的问题:)

    【讨论】:

      猜你喜欢
      • 2016-07-08
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多