在选择字段后从JSON中选择选项填充字段列表?Php, js, html


Populate a list of fields from JSON after picking option in Select field ? PHP, JS, HTML

我想让我的用户的生活更轻松,让他们更快地完成表单。

我已经在我的表单中放置了一个下拉/选择字段,其中包含从数据库检索的预设列表。

到目前为止,我已经成功地编码了PHP对象,该对象存储了将进入字段的所有值。

PHP

部分
$values = new values(); 
    $field_values = json_encode($values);

JS

部分
    <script>
        var field_values = JSON.parse( <?php echo $js_list; ?>);

    </script>

JSON数据集的5行示例

{"preset_name":["HORIZONTARIFF","1MEGVOICETARIFF","DN18STREAM","DN18STREAMGPRS","DN18STREAMLOWARPU"],"net":["ECL","ECL","ECL","ECL","ECL"],"inclusive":[2,1,0,3,0],"length":["18","12","36","36","36"],"data":[0.0292968448,0.019531264,0.0976562176,0.0976562176,0.0976562176]}

我使用JSON.parse()作为教程,它比使用eval()

安全得多

我所展示的一切都很好,JSON值被放置到我的javascript中。

现在我们进入下一个阶段,也就是;我究竟如何将这些值输入到表单上的字段中呢?

供参考

我的select字段是使用foreach()在PHP中从DB中填充的。

我知道逻辑将是什么,但由于Javascript/JSON经验不足,我不知道如何实现它。

逻辑
  1. 用户从列表中选择选项
  2. Javascript检测选择
  3. Javascript找到选择的值。
  4. Javascript通过JSON查找匹配的值和与之关联的数据。
  5. Javascript修改其他字段并从JSON输入值。

欢迎任何资源或想法!

谢谢你的时间!:)

圣诞快乐!

类似

for (fieldname in field_values) {
  var o=document.getElementById(fieldname);
  if (o) o.value=fields_values[fieldname];
}

当然,这只适用于文本字段,但是您可以理解