我无法弄清楚我的目标是在用户更改下拉框的值后,我的输入字段(f_project_straat)更改为从php文件检索的正确值。
我记录了该日志,并获得了正确的值,但是只有在刷新页面(f5)之后,它才会更改,而我不需要刷新页面。
我有一个下拉框,一个输入字段,一个函数和一个不同的php文件。
下拉框和输入字段
<div id="fc_opdrachtgever_id" class="at_e_f_container">
<div id="fn_opdrachtgever_id" class="at_e_fieldname">
Opdrachtgever *
</div>
<div id="fe_opdrachtgever_id" class="at_e_fieldvalue">
<select name="f_opdrachtgever_id" id="f_opdrachtgever_id" onchange="showUser(this.value)">>
[var.opdrachtgever;htmlconv=no]
</select>
</div>
</div>
<div id="fc_project_straat" class="at_e_f_container">
<div id="fn_project_straat" class="at_e_fieldname">
<span>Project straat * </span>
</div>
<div id="fe_project_straat" class="at_e_fieldvalue">
<input class="formfield" name="f_project_straat" id="f_project_straat" type="var" size=50 maxlength=150 value="[var.currentstreet]">
</div>
</div>
我做了这样的功能:
$('#f_opdrachtgever_id').on('change', function() {
var select = $(this).val();
console.log(select)
$.ajax({
type: "GET",
url: "getadres.php",
data: {
id: select
},
success: function(msg) {
$('#f_project_straat').text(msg);
alert(msg);
}
});
})
最后我做了一个php函数来获取
$id = intval($_GET['id']);
$sql = "SELECT * FROM " . CURRENTTABLE. " WHERE id = $id";
$rs = DBExecute($sql );
if ($rs){
if (!$rs->EOF){
$street = $rs->fields('street');
$_SESSION['s_street'] = $street ;
$GLOBALS['currentstreet']=$_SESSION['s_street'];
}
}
谢谢!