2011-02-07 4 views
0

나는 db에서 값을 가져 오는 드롭 다운 상자가 있습니다. 드롭 다운 상자에 하나의 열만 표시됩니다. 드롭 다운 상자에서 한 열을 선택하면 텍스트 상자에 다른 값이 표시됩니다.PHP를 사용하여 드롭 다운 상자

내가 해당 값 아래로 강하 값을 선택 나는 드롭 다운 상자에 값을 표시했을하지만 난 여길를 강타하고 텍스트 상자에 표시 할 수있다

예 : 자동차 BMW의 classc의 APP-01의

여기에 드롭 다운 상자에서 bmw를 선택하면 해당 클래스 C와 125ho를 텍스트 상자에 입력해야합니다.

답변

0

PHP는 서버 측에서 작동하며 클라이언트가 요청하면 웹 사이트를 처리 한 다음 결과 페이지를 클라이언트에 보냅니다. 예를 들어 드롭 상자가 서버에 채워져 클라이언트로 전송됩니다.

그러나 드롭 상자에서 항목을 선택하는 것은 클라이언트의 브라우저에서 수행됩니다. 아아, 서버는 그것에 대해 알지 못하므로 PHP 스크립트가 이에 반응하는 방법은 없습니다 (사용자가 드롭 박스 항목을 변경할 때마다 사이트 새로 고침을 강요하지 않으면 매우 나쁜 개념입니다).

클라이언트 쪽에서 작동하는 스크립트 유형으로 작업해야하며 여기서는 JavaScript가 가장 일반적입니다. 자바 스크립트는 드롭 상자 선택에 반응하여 텍스트 필드의 데이터를 적절하게 채울 수 있습니다.

그러나 클라이언트 측의 JavaScript는 서버 리소스에 액세스 할 수 없다는 점에 유의하십시오 (예 : 데이터베이스의 텍스트). 이러한 리소스는 PHP 스크립트에 의해 JavaScript에 삽입되어야 클라이언트에 전송됩니다.

+1

JavaScript * 그 자체는 서버 리소스에 액세스 할 수 없기 때문에 AJAX가 사용되는 이유입니다. – nico

1

속성에 표시 값을 저장할 수 있습니다 (예 : 당신이 자바 스크립트를 사용해야합니다 http://jsbin.com/ifefo4

0

- 다음과 같이 (당신이 jQuery를 사용하는 경우) 데이터를 텍스트

<select id="car"> 
    <option name="none" data-text="" value="">---</option> 
    <option name="bmw" data-text="class c" value="bmw">bmw</option> 
    <option name="ford" data-text="4 door" value="ford">ford</option> 
    </select> 

    <input type="text" id="display"/> 

당신은

​$()​.ready(function() { 

    $("#car").bind("change", function() { 
    $("#display").val($("#car :selected").attr("data-text")) 
    }) 
})​ 

나는에서 살아있는 예를 넣어 텍스트 필드를 업데이트 할 수 있습니다 고객 입장에서.

텍스트 상자의 값으로 채우는 자바 스크립트 배열을 만듭니다. 그런 다음 드롭 박스의 onchange 메소드에서이 배열의 텍스트 상자에 내용을 다시로드합니다.

+0

어떻게 할 수 있습니까? PHP를 사용하는 동안 루프는 db에서 모든 것을 가져옵니다. – ajmul

+0

평소처럼 PHP로 데이터를 가져와야하지만, 루프에서 브라우저가 읽을 수있는 코드를 인쇄해야합니다. Google 또는 여기에있는 팁 : http://www.scratch99.com/2008/03/creating-javascript-array-dynamically-from-php-array/ jQuery로 @ Joe Hanink 솔루션도 보일 수 있습니다. 콤보 상자에 값을 직접 인쇄 한 다음 배열로 조작하는 것이 더 간단합니다. 하지만 원칙은 거의 동일합니다 – Bulan

+0

그래서 나는 각 텍스트 상자마다 다른 ID를 가지고 PHP를 사용합니다. – ajmul

관련 문제