如何将文件中的数据元素发送到单独的输入框?

时间:2018-02-17 15:50:46

标签: php

我在表单中有一组5个输入框,前4个是文本,最后一个是选择器:

     <div type="input">
    <div>
      <label>First Name </label>
      <input type="text" name="firstname" id="firstname">
    </div>
    <div>
      <label>Last Name </label>
      <input type="text" name="lastname" id="lastname">
    </div>
    <div>
      <label>Student ID </label>
      <input type="text" name="studentid" id="studentid">
    </div>
    <div>
      <label>Tuition </label>
      <input type="text" name="tuition" id="tuition"> <br>
    </div>
  <div>
    <label>Payment Method </label>
    <select name="selection" id="selection">
        <option value="credit">Credit</option>
        <option value="debit">Debit</option>
        <option value="bitcoin">Bitcoin</option>
    </select>
  </div>
  </div>

我还有一个函数,当单击按钮#rand时,它会从另一个名为rangen.php的.php文件中获取一组数据,它应该将数据填充到上面的输入中。到目前为止,数据已成功被抓取并以“格式”放入“数据”:

{"firstname":"Ying","lastname":"Lee","tuition":3571,"studentid":"034078741","method":"Debit"}

然而,它没有填写表格。

  $("#rand").click(
      function()
      {
        $.get("rangen.php",
        {},
        function(data)
        {
          $("#firstname").html(data{"mykey":"firstname"});
          $("#lastname").html(data{"mykey":"lastname"}); 
          $("#studentid").html(data{"mykey":"firstname"});
          $("#tuition").html(data{"mykey":"lastname"}); 
          $("#selection").html(data{"mykey":"method"});
        },);
      }
  );

1 个答案:

答案 0 :(得分:0)

您可以在第3个参数中指定jQuery.get()输出的格式,例如&#34; json&#34;。然后,你得到一个对象,你可以获得这样的属性。最后,您应该使用val()代替html()来填充输入。

$("#rand").click(
    function()
    {
      $.get("rangen.php",
      {},
      function(data)
      {
        $("#firstname").val(data.firstname);
        $("#lastname").val(data.lastname); 
        $("#studentid").val(data.firstname);
        $("#tuition").val(data.lastname); 

        /* 
        // comparing with text
        var opts = jQuery("#selection")[0].options;
        for (var i=0;i<opts.length;i++) {
          if (opts[i].text == data.method) {
            jQuery("#selection")[0].selectedIndex = i;
            break;
          }
        }
        */

        // Thanks to @Samir for the following: 
        // comparing with value:
        $("#selection").val(data.method.toLowerCase());

      },
      'json'); // set JSON datatype
    }
);