从下拉列表中获取值后动态填充字段

zd287kbt  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(342)

我有一个表单,它使用下拉菜单来选择一个选项。选择该选项后,我想从my db中获取一个值,用相应的值填充下一个字段(在场景中是获取租赁物业的平方英尺-但该值可以编辑)
这是我可以选择的字段:

<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;
};

我使用的解决方案是在webinspector中显示以下错误

我使用的代码将根据给定的建议进行更新。

tyky79it

tyky79it1#

看看你的代码,代码看起来没问题。请检查运行查询是否成功,检查是否至少有一个结果,并在结束括号后删除分号,以确保查询没有错误。

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';
 }

如果这样做无济于事,那么问题可能是您在保存期间没有清理数据,并且该数据中的某些字符会干扰查询。向我们展示如何在保存数据之前进行过滤。

px9o7tmv

px9o7tmv2#

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

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

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

相关问题