2011-02-07 55 views
0

我有一個下拉框,它從db中提取值。它只在下拉框中顯示一列。如果我在下拉框中選擇一列,它應該在文本框中顯示其他值。下拉框使用php

我已經做了在下拉框中顯示的值,但我打here.If我選擇降的降值對應的值必須顯示在文本框中

如:汽車寶馬classc 125HP

在這裏,如果我在下拉框中選擇bmw,我應該在文本框中獲得類c和125ho。

回答

0

PHP在服務器端工作,它在客戶端請求時處理您的網站,然後將結果頁面發送給客戶端。例如,您的下拉框被填充到服務器上併發送到客戶端。

然而,在下拉框中選擇一個項目是在客戶端的瀏覽器中完成的。唉,服務器不知道它,因此你的PHP腳本無法對此做出反應(除非每次用戶更改保管箱項目時強制刷新站點,這將是一個非常糟糕的概念)。

您需要使用適用於客戶端的腳本類型,JavaScript在這裏最爲常見。 JavaScript可以對放置框選擇做出反應,並相應地在文本字段中填寫數據。

但是,請注意,客戶端的JavaScript無法訪問任何服務器資源,比如來自數據庫的文本。這些資源必須通過PHP腳本插入到JavaScript中,以便它們也可以發送到客戶端。

+1

JavaScript *本身*無法訪問服務器資源,這正是爲什麼使用AJAX的原因。 – nico 2011-06-19 07:10:31

1

您可以將您的顯示值存儲在屬性中 - 例如,數據文本

<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"/> 

您可以按以下步驟更新文本字段(如果你正在使用jQuery)

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

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

我把一個活生生的例子,在 - http://jsbin.com/ifefo4

0

您必須使用JavaScript來客戶端。

製作一個JavaScript數組,用於填充文本框的值。 然後在Dropbox的onchange方法中,從該數組中重新加載文本框中的內容。

+0

我該怎麼做呢?我使用php while循環從數據庫中抽取所有東西。 – ajmul 2011-02-07 07:56:29