选择框中的选择值数组中的其他值将出现在输入字段中

时间:2014-12-08 00:39:12

标签: php jquery html arrays

我有一个数组数据如下:

<?php
  $names = array('Ireneo Crodua' => array('Australia', 'contact 3883 441', 'id_01'), 
                 'Almads Bangal' => array('India', 'contact 3883 811', 'id_02' ),
                 'Rechard Canonigo' => array('America', 'contact 3883 333', 'id_03'),
                 'Marjohn bebeloni' => array('China', 'contact 3883 444', 'id_04')
  );

?>

我有一个选择框来选择人的姓名

<form action="post">

  <p><label>Select Name</label>
    <select>
      <?php 
        foreach($names as $name => $place){
          echo "<option>" . $name . "</option>";
        }
      ?>

    </select>
  </p>


  <p><label>Place</label><input name="place" value="" /></p>
  <p><label>Contact</label><input name="contact" value="" /></p>
  <p><label>ID Number</label><input name="id_number" value="" /></p>


</form> 

如果我在我的选择框中选择Rechard CanonigoRechard Canonigo的数组值将自动出现在输入字段中,那是可行的。

示例:

美国将自动显示在input field => place中,contact 3883 333也将显示在input field => contact中,最后id_03将显示在id_number输入字段

我想了解这个jquery代码:

$(function(){
  $('select').on('change',function(){
     $('input[name=place]').val($(this).val());
  });
});

在我想要实现的工作方面类似,但问题是它只在数组中给出一个结果

1 个答案:

答案 0 :(得分:1)

是的,很有可能,你已经有了第一个现场工作。对于第二个和第三个字段,您可以通过使用json_encode()在javascript中导入这些数组。

<script type="text/javascript">
var names = <?php echo json_encode($names); ?>; // put it inside
$(function(){
    $('select').on('change',function(){
        // on select change
        var selected_value = $(this).val();
        $('input[name=place]').val(selected_value);
        // since the selected value is a key just point it to the object and get its values
        $('input[name=contact]').val(names[selected_value][1]);
        $('input[name=id_number]').val(names[selected_value][2]);
    });
});
</script>

Sample Demo

相关问题