我试图基于在文本框中输入的值,将值从数据库自动填充到文本框。输入名称后,我应该立即获得DOB。
我尝试按照以下示例http://www.htmlblog.us/open-source/jQueryAutocompleteRelatedFields.html进行操作,但我不知道为什么它对我不起作用。
这是我的代码
html
<form name="appointment" method="post" action="apponiment_submit.php" enctype="multipart/form-data" onsubmit="return validate()">
<table class="selection">
<tr><td colspan="3"><CENTER><font color="red"><strong>Fields Marked Star Are Compulsory</strong></font></CENTER></td></tr>
<tr><td>Patient Name :</td><td><input type="text" name="p_name" id="p_name" /><STRONG><font color="red">*</font></STRONG></td></tr>
<tr><td>DOB :</td><td><input type="text" name="p_dob" id="p_dob" class="tcal" /></td></tr>
</table>
</form>
脚本
<script type="text/javascript">
jQuery(document).ready(function(){
$('.p_name').autocomplete({
source:'fill_patient_info1.php',
minLength:2,
select:function(evt, ui)
{
// when a zipcode is selected, populate related fields in this form
this.form.p_name.value = ui.item.p_name;
this.form.p_dob.value = ui.item.p_dob;
}
});
});
</script>
并在fill_patient_info1.php中
// if the 'term' variable is not sent with the request, exit
if ( !isset($_REQUEST['term']) )
exit;
echo $_REQUEST['term'];
// connect to the database
$dblink = mysql_connect('localhost', 'root', '') or die( mysql_error() );
mysql_select_db('hospital');
$rs = mysql_query('select patient_name,dob from patient where patient_name like "'. mysql_real_escape_string($_REQUEST['term']) .'%" order by patient_name asc limit 0,10', $dblink);
$data = array();
if ( $rs && mysql_num_rows($rs) )
{
while( $row = mysql_fetch_array($rs, MYSQL_ASSOC) )
{
$data[] = array(
'label' => $row['patient_name'] .', '. $row['dob'] .' '. $row['patient_name']
);
}
}
// jQuery wants JSON data
echo json_encode($data);
flush();
我不太熟悉json和jquery。因此,我没有走错地方。而不是$_REQUEST['term'];
我尝试放置$_REQUEST['p_name'];
,但是没有用。
请建议
在文件中,fill_patient_info1.php
您无需请求term或p_name。您必须写下完整的查询,而没有类似的条件。jQuery UI自动完成将完成其余的工作。您的sql应为:
select patient_name, dob from patient order by patient_name limit 10
更新:创建数组时,如果您也想填充配音,则还需要指定如下值:
$data[] = array(
'label' => $row['patient_name'] .', '. $row['dob'] .' '. $row['patient_name'] ,
'value' => $row['dob']
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句