2014-12-08 3 views
2

제가 아래 배열 데이터가 입력 필드에 표시한다 : 그 사람의 이름을 선택 선택 값

<?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 333input field => contact에 표시되고 마지막 id_03

내가이 jQuery 코드 세례반 id_number 입력 필드에 나타납니다

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

나는 NT를 달성하지만 문제는 배열에 하나의 결과 만 제공한다는 것입니다.

+0

좋은 시작은 .. 또는 JSON .. 이봐, 거기 그하는 기능 .. –

+0

입니다 배열 JS 당신의 PHP 배열을 변환하는 것입니다 실제로'mysql '의 필드입니다. –

답변

1

예, 이미 가능한 첫 번째 필드가 있습니다. 두 번째 및 세 번째 필드의 경우 json_encode()을 사용하여 자바 스크립트에서 해당 배열을 가져올 수 있습니다. 당신이 XHR을 사용하지 않으려면

<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

+0

멋진 답변을 주셔서 감사합니다. 제 상황에서 배열은 실제로 데이터베이스에서 사용하고 있습니다. MySQL을 사용할 수도 있습니다. –

+0

@IreneoCrodua 네, javascript 내부에서 사용하기를 원하기 때문에'json_encode()'를 사용하는 것이 중요합니다. 실제로 올바른 방법은 PHP가 동일한 페이지에 있지 않을 때 선택 변경에 대한 Ajax 요청을 구현하는 것입니다.하지만이 방법은 동일한 페이지에있는 경우에도 잘 작동합니다. – Ghost

+0

팁에 감사드립니다. –