我有一个数组数据如下:
<?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 Canonigo
,Rechard 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());
});
});
在我想要实现的工作方面类似,但问题是它只在数组中给出一个结果
答案 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>