【问题标题】:jquery autocomplete input name = json_decode data namejquery 自动完成输入名称 = json_decode 数据名称
【发布时间】:2020-10-05 18:56:30
【问题描述】:

如何使用 json_encode where json data = input name 自动将我从数据库中获取的值数据插入到 jQuery 中?

如何通过 php json_encode 在 jquery 中自动粘贴一个与增益相同的 name 属性的输入值?

例如,请记住,我在一个页面上有几十个具有不同名称属性的输入:

从 json 编码它给了我,例如,documentnumber,我想自动将它粘贴到具有相同名称属性的输入上。

如果输入有另一个name属性,则从json中获取的同名值自动填入该值

【问题讨论】:

标签: jquery json


【解决方案1】:

如果你有这样的数据:

var data = [{
  "Ks":  "KS 1",
  "Endtext":  "End Text 1",
  "fZlava": "FZ Lava 1",
  "Cena": "Cena 1",
  "FDPH": "FDPH 1",
  "FSPOLI":  "FSPOLI 1"
}];

这将是一个对象数组。所以调用data[0].Ks 将返回值KS 1。您还可以获得对象键名称Object.keys(data[0]),它将返回一个数组。

您可以使用name 属性选择器来选择特定元素。

$("input[name='Ks']")

考虑以下示例:

$.ajax({
  url: "action/update/edit.php",
  method: "POST",
  data: {id: id, action: action},
  dataType: "json",
  success: function (data) {
    var keys;
    $.each(data, function(i, o){
      keys = Object.keys(o);
      $.each(keys, function(j, k){
        $("input[name='" + k + "']").val(o[k]);
      });
    });
  }
});

这将使用相应的name 属性填充一个文本字段。这很好,除非你有很多同名。

$(function() {
  function getData(url) {
    $.ajax({
      url: url,
      method: "GET",
      dataType: "json",
      success: function(data) {
        var keys;
        $.each(data, function(i, o) {
          keys = Object.keys(o);
          $.each(keys, function(j, k) {
            $("input[name='" + k + "']").val(o[k]);
          });
        });
      }
    });
  }
  getData("https://jsonblob.com/api/b0d9708d-079a-11eb-903e-cb8263972736");
});
ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

ul li label {
  width: 40px;
  display: inline-block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <ul>
    <li><label>KS</label><input type="text" name="Ks" /></li>
    <li><label>ET</label><input type="text" name="Endtext" /></li>
    <li><label>FZ</label><input type="text" name="fZlava" /></li>
    <li><label>CN</label><input type="text" name="Cena" /></li>
    <li><label>FD</label><input type="text" name="FDPH" /></li>
    <li><label>FS</label><input type="text" name="FSPOLI" /></li>
  </ul>
</div>

【讨论】:

    【解决方案2】:
    IN PHP 
      <?php
      foreach ($result as $row) {
      $output['Ks'] =  $row['bks'];
      $output['Endtext'] =  $row['textend'];
      $output['fZlava'] =  $row['sspolu'];
      $output['Cena'] =  $row['cspolu'];
      $output['FDPH'] =  $row['dspolu'];
      $output['FSPOLI'] =  $row['uhrada'];
      }
      echo json_encode($output);
      }
    

    我需要根据来自 $ output ['name'] 的数据在 jQuery 中为 value 自动分配一个值

    类似的东西

       $.ajax({
            url: "action/update/edit.php",
            method: "POST",
            data: {id: id, action: action},
            dataType: "json",
            success: function (data) {
                $('input[name]').val(data.output);
             }
        });
    

    输入名称等于$输出值

    【讨论】:

    • 这个问题更好?
    • 仍然需要一个数据示例和一个输入示例。
    猜你喜欢
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    相关资源
    最近更新 更多