【问题标题】:Dynamicly populate field after getting value from dropdown从下拉列表中获取值后动态填充字段
【发布时间】:2019-04-08 22:55:03
【问题描述】:

我有一个使用下拉菜单选择选项的表单。选择该选项后,我想从我的数据库中获取一个值,以使用对应的值填充下一个字段(在场景中是获取出租物业的平方英尺 - 但可以编辑此值)

这是我可以选择的领域:

<div>
    <label class="control-label " for="local">Local</label>
    <select class="select form-control" id="local" name="local" ><?php echo $lista_fraccoes;?></select>
</div>

在这之后我有脚本来获取数据:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$('#local').on('change', function(){
    var .local = this.value;
    $.ajax({
        type: "POST",
        url: "area_fraccao.php",
        data:'local='+local,
        success: function(result){
            $("#area").value(result);
        }
    });
});
</script>

在此之后,我有了要填充的字段:

<div class="form-group m-2 ">
    <label class="control-label " for="area" type="value">Area</label>
    <div class="input-group">
        <div class="input-group-addon">
            <i class="fas fa-ruler-combined"></i>
            </i>
        </div>
        <input class="form-control" id="area" name="area" placeholder="Em m2" type="value" value=""/>
    </div>

area_fraccao.php 文件中是我得到对应值的地方:

require_once 'config.php';
require_once 'functions.php';

$local = $_GET['local'];

$query_area = "SELECT * FROM TbFraccao WHERE PkFraccao=" . $local;

$result_area = mysqli_query($link, $query_area);
while ($row_area = mysqli_fetch_assoc($result_area)){
    $area = $row_area['FraccaoArea'];
    echo $area;
};

我正在使用的解决方案是在 web 检查器中显示以下错误

我正在使用的代码已根据给定的建议进行了更新。

【问题讨论】:

    标签: php mysql dynamic dropdown


    【解决方案1】:

    查看您的代码,该代码似乎还可以。请通过检查运行查询是否成功来确保查询没有错误,检查是否有至少一个结果,并删除右括号后的分号。

    if($result_area = mysqli_query($link, $query_area)){//the query is Ok
     if(mysqli_num_rows($result_area)>0){//check there is atleast one result
      while ($row_area = mysqli_fetch_assoc($result_area)){
        $area = $row_area['FraccaoArea'];
         echo $area;
      }
      }
    }
    else{//you have an error when writing your query
      echo 'Wrong query';
     }
    

    如果这没有帮助,问题可能是您在保存期间没有对数据进行清理,并且该数据中存在干扰查询的字符。向我们展示您在保存数据之前是如何进行过滤的。

    【讨论】:

      【解决方案2】:

      使用jQuery的value方法设置输入元素的值

      $("#area").value(result);
      

      html()方法用于设置元素的innerHTML

      【讨论】:

      • 不仅我无法让它工作,我还注意到通过使用 '
      猜你喜欢
      • 2013-07-03
      • 2020-06-26
      • 2021-12-25
      • 2012-01-30
      • 2012-02-11
      • 2020-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多