2010-11-19 186 views
0

在此測試中,我有一個帶有兩個字段的簡單表單。當用戶在選擇字段中選擇一個選項時,我需要上傳文本字段。當更改選擇字段的值時更新文本字段

這是HTML代碼:

<form id="form1" name="form1" method="post" action=""> 
    <input type="text" name="dst" id="dst" value="" /> 
    <select name="contactos" id="contactos"> 
    <option value="-1">No selected</option> 
    <option value="1">Option 1</option> 
    <option value="2">Option 2</option> 
    </select> 
</form> 

這是jQuery代碼:

<script> 
$(document).ready(function() { 
    $("#contactos").change(function(event){ 
    var id = $("#contactos").find(':selected').val(); 
    $.getJSON('contacback.php?contactoID='+id, function(data) { 
     $.each(data, function(i,item) { 
      if (item.field == "dst") { 
       $("#dst").val(item.value); } 
      }); 
     }); 
    }); 
}); 
</script> 

(添加)這是PHP代碼:

<?php require_once('Connections/cnx3.php'); ?> 
<?php 

$colname_rsContactos = "-1"; 
if (isset($_GET['contactoID'])) { 
$colname_rsContactos = $_GET['contactoID']; 
} 

mysql_select_db($database_cnx3, $cnx3); 
$query_rsContactos = sprintf("SELECT contactoID, telefono FROM contactos WHERE contactoID = %s", 
GetSQLValueString($colname_rsContactos, "int")); 
$rsContactos = mysql_query($query_rsContactos, $cnx3) or die(mysql_error()); 

while ($fila = mysql_fetch_array($rsContactos)) { 

$json = array('field' => 'dst', 
       'value' => $fila['telefono']); 
} 

echo json_encode($json); 

mysql_free_result($rsContactos); 
?> 

查詢到PHP發送OK並且JSON回答也是OK image of JSON reply

但是#dst的值沒有更新。任何幫助,歡迎!

+0

我們可以看到PHP? – Alex 2010-11-19 06:11:17

+1

很抱歉給你這樣做,但我們是否也可以看到一些返回的JSON?另外,你真的打算在jQuery中的每一個?如果你只是在尋找一個特定的領域,你可以自己挖掘JSON而不是迭代它。 – attack 2010-11-19 08:22:56

+0

你有JQ初始化爲jQuery對象嗎?據我所知,jQuery或$默認情況下用於訪問jQuery,而不是JQ ... – 2010-11-19 09:36:22

回答

0

(。在一個問題編輯和註釋轉換爲社區維基答案回答見Question with no answers, but issue solved in the comments (or extended in chat)

的OP寫道:

解決!由於@Attack的jQuery腳本:

$("#contactos").change(function(event){ 
    var id = $("#contactos").find(':selected').val(); 
     $.getJSON('contacback.php?contactoID='+id, function(data) { 
     if (data.field == "dst") { 
      $("#dst").val(data.value); 
      } 
     }); 
});