2010-11-19 187 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); 
      } 
     }); 
});