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

时间:2018-11-05 14:53:53

标签: php mysql dynamic dropdown

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

这是我可以选择的字段:

<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检查器中出现以下错误

enter image description here

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

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