【问题标题】:Unable to fill the other fields on the basis of option selected无法根据所选选项填写其他字段
【发布时间】:2019-07-27 10:47:36
【问题描述】:

我想根据选择的选项从数据库中填写表单上的其他字段,但无法使用 php 和 javascript。我已附加收到的 json 数据有问题。当我从表单字段 houseowner_select 中选择选项时,我想填写其他表单字段,并且当我从具有 id 申请者_is 的选择框中选择选项时,我想显示 div app_houseowner。

$("#applicant_id").on("change", function() {
  var selected = $(this).val();
  makeAjaxRequest1(selected);
});

function makeAjaxRequest1(opts) {
  $.ajax({
    type: "POST",
    data: {
      opts: opts
    },
    url: "get_houseownerinfo_applicant.php",
    success: function(res) {
      console.log(res);
      debugger;

      $("#applicant_wardno").val(res.ho_wardno);
      $("#applicant_citizenship_no").val(res.ho_citizenship_number);
      $("#applicant_phone").val(res.ho_phone);
    }
  });
}
<select name="applicant_is" class="form-control" ng-model="applicant.applicant_is" ng-change="callback_change_applicant_is($event)">
  <option value="">--select--</option>
  <option value="app_houseowner">घरधनी</option>
  <option value="landowner">जग्गाधनी</option>
  <option value="waris">वारिश</option>
</select>
<div class="app_houseowner">
  <select class="form-control" name="houseowner_select" id="applicant_id">
    <option value="">--Select--</option>
    <option value="<?php if (isset($row11['id'])){ echo $row11['id'];}?>">
      <?php if (isset($row11['ho_name_en'])){ echo $row11['ho_name_en'];}?>
    </option>

  </select>
</div>
<input type="text" name="applicant_phone" class="form-control" id="applicant_phone">
<select name="applicant_wardno" class="form-control" id="applicant_wardno">
  <option value="">--Select--</option>
  <?php for ($x = 1; $x <= 19; $x++) {
       echo "<option value=".$x.">".$x."</option>";
    }?>
</select>
<input type="text" name="applicant_citizenship_no" class="form-control" id="applicant_citizenship_no">

【问题讨论】:

  • 您是否从 ajax 调用中获得了 console.log(res); 的预期结果?
  • 显示的 HTML 中没有 ID 为 applicant_salutation 的元素
  • 在显示的 HTML 中也没有 ID 为申请人的元素
  • @prabinashrestha 您可能希望将 ajax 响应添加为文本
  • 是的,我从 console.log(res) 得到了预期的结果,我想在其他字段中显示它。我没有将所有字段都放在问题中,但它已经在我的表单中。 @Cid

标签: javascript php


【解决方案1】:

首先从您的 javascript 代码中删除或注释 $("#applicant_salutation").val(res.ho_salutation)$("#applicant_district").val(res.ho_citizenship_district) 行,因为这两个 id 在您的 html 中不可用。

还在你的 ajax 请求中添加 dataType: 'json'

正如我已经检查过applicant_wardno 是选择框,您必须设置选择以在选择框中显示值而不是设置 val。

check this link for setting selected value

【讨论】:

  • 我需要你的帮助。@Priyank
  • @Prabina,请告诉我你需要什么
  • 我会再试一次,如果我做不到,我会发布一个问题并标记你的链接。 @Priyank
【解决方案2】:

您可以使用警报进行调试:alert(res.ho_wardno); 并查看是否从 ajax 查询返回值;

      $("#applicant_wardno").val(res.ho_wardno);
      alert(res.ho_wardno);
      $("#applicant_citizenship_no").val(res.ho_citizenship_number);
      $("#applicant_phone").val(res.ho_phone);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-03
  • 2012-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-19
相关资源
最近更新 更多