2014-02-10 73 views
0

如何在文本框中回顯下拉選擇的值?輸入值取決於數據庫下拉列表的值

我需要的是當房子被選中時,值ACR100應該在空的文本框中回顯。在文本框中顯示值取決於下拉列表的值。

如何做到這一點?

id | maincode | category 
1 | ACR100 | House 
2 | ACR200 | Park 
3 | ACR300 | Field 

<?php 
$mysqli = new mysqli("localhost", "root", "", "2015"); 
    $resultcode = $mysqli->query("SELECT category, id, maincode FROM category GROUP BY id ORDER BY maincode"); 
    $code = ''; 
    while($row = $resultcode->fetch_assoc()) 
     { 
     $code .= '<option value = "'.$row['maincode'].'">'.$row['category'].'</option>'; 
     } 
?> 

<select name="supplier" style="text-transform:uppercase;"> 
<option value="ALL">ALL</option> 
<?php echo $code; ?> 
</select> 

<input name="catvalue" value=""> 
+2

據我瞭解你是要求,你會用Javascript來達到最好的效果。 – dqlopez

回答

2

如果你想讓它在客戶端發生,你可以用jQuery做很容易。 http://api.jquery.com/change/

$('[name="supplier"]').change(function() { 
    $('[name="catvalue"]').val($(this).val()); 
}); 

我還沒有運行的代碼,但你的想法。

編輯:

看到這裏的demo

0

如果我理解正確的話,你希望讓用戶選擇一個類別並有對應於該類別代碼輸入的值輸入。

替換此:

<select name="supplier" style="text-transform:uppercase;"> 
<option value="ALL">ALL</option> 
<?php echo $code; ?> 
</select> 

<input name="catvalue" value=""> 

有了這個:

<form method="post" action=""> 
<select name="supplier" style="text-transform:uppercase;"> 
<option value="ALL">ALL</option> 
<?php echo $code; ?> 
</select> 
</form> 
<input name="catvalue" value="<?=$_POST['supplier']?>"> 

這需要對應的類別選擇,並提交它的代碼在這種情況下,你可以使用<form>發送的選擇作爲POST變量。然後,它使用post變量作爲輸入的值。

編輯

因爲它們已經在一種形式,不需要形式:

<select name="supplier" style="text-transform:uppercase;"> 
<option value="ALL">ALL</option> 
<?php echo $code; ?> 
</select> 

<input name="catvalue" value="<?=$_POST['supplier']?>"> 
+0

下拉菜單和文本框均位於表單的內部。 – user3097736

+0

好的,在這種情況下,只需刪除表單,並只添加$ _POST ['supplier']作爲'catvalue'的值,但如果您希望從'catvalue'輸入中獲取值,則需要提交表單兩次並希望使用PHP。 – Anonymous

0

您可以使用JavaScript來實現。您只需將活動附加到選項菜單和文檔。

<!DOCTYPE html> 

<html> 
<head> 
<title></title> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
</head> 
<!-- call function to set value when document loads --> 
<body onload="initialize()">  
<!-- attach an onchange event to update input field --> 
<select id="dropdownList" onchange="update()"> 
<option value="ACR100">House</option> 
<option value="ACR110">Park</option> 
<option value="ACR120">Field</option> 

    </select> 
    <input id="catvalue" name="catvalue" value=""> 

    <script> 
     // update input field 
     function update(){ 
      var value = document.getElementById("dropdownList").value; 
      var dest = document.getElementById("catvalue"); 

      dest.value = value;     
     } 

     //run when document loads 
     function initialize(){ 
      update(); 
     }   
    </script> 
</body> 

或者,而不是初始化函數連接到你的整個文檔,你可以設置的值在PHP在打印的頁面,像匿名一樣。

相關問題