将值传递给隐藏的输入?
问题描述:
大家好,我很难从实时搜索中通过ul标签在页面上显示的搜索值中传递值。实时搜索工作正常。将值传递给隐藏的输入?
这是我的数据库查询。(insertdemo.php)
<?php
define('DB_USER', 'root');
define('DB_PASSWORD', 'thartpc');
define('DB_SERVER', 'localhost');
define('DB_NAME', 'hospital');
if (!$db = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME)) {
die($db->connect_errno.' - '.$db->connect_error);
}
$arr = array();
if (!empty($_POST['keywords'])) {
$keywords = $db->real_escape_string($_POST['keywords']);
$sql = "SELECT id, patientid, lastname, firstname, middlename FROM patient WHERE lastname LIKE '%".$keywords."%'";
$result = $db->query($sql) or die($mysqli->error);
if ($result->num_rows > 0) {
while ($obj = $result->fetch_object()) {
$arr[] = array('id' => $obj->id, 'patientid' => $obj->patientid, 'lastname' => $obj->lastname,'firstname' => $obj->firstname, 'middlename' => $obj->middlename);
}
}
}
echo json_encode($arr);
AJAX和jQuery代码(的index.php)
我只是想给patientid值传递给这样<的输入。输入类型= “隐藏” ID = “PID” NAME = “PID” 值= “$ PID”>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#keyword').on('input', function() {
var searchKeyword = $(this).val();
if (searchKeyword.length >= 1) {
$.post('insertdemo.php', { keywords: searchKeyword }, function(data) {
$('ul#content').empty()
$.each(data, function() {
$('ul#content').append('<li><a href="inserting.php?id=' + this.id + '">' + this.patientid + ' ' + this.lastname + ' ' + this.firstname + ' ' + this.middlename + '</a></li>');
});
}, "json");
}
});
});
</script>
HTML部分
<div class="panel panel-default" style="background-color:#2B547E; border- color:#2B547E">
<div class="panel-body">
<div class="container">
<div class="col-md-6" style="width:400px; padding-left:0px">
<form role="form" method="POST">
<div class="btn-group btn-group" style="margin-left:0px" role="group" aria-label="...">
<div class="btn-group" role="group">
<button type="button" class="btn btn-primary btn-md">Pharmacy Portal</button>
</div>
<div class="btn-group" role="group">
<input type="text" id="keyword" class="form-control" placeholder="Enter Patient ID">
</div>
<div class="btn-group" role="group">
<button class="btn btn-default btn-md" style="height:34px; width:60px ;color:#2B547E " name="submit" type="submit"><span class="glyphicon glyphicon-search" ></span></button>
</div>
</div>
</form>
</div>
<div class="col-md-6 pull-right" style="padding-right:0px">
<div class="btn-group pull-right" role="group">
<div class="dropdown">
<a class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
<span class="glyphicon glyphicon-align-justify"></span>
<span class="icon-bars-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</span>
</a>
<ul class="dropdown-menu pull-right" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="index.php">Home</a></li>
<li role="separator" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="">Patient</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="">Billing</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<?php $pid = ''; ?>
<div class="container">
<ul id="content"></ul>
<input type="text" name="pid" id="pid" class="form-control" value="<?php "$pid" ?>">
</div>
答
你可以试试这个:
$(document).ready(function() {
$('#keyword').on('input', function() {
var searchKeyword = $(this).val();
if (searchKeyword.length >= 1) {
$.post('insertdemo.php', { keywords: searchKeyword }, function(data) {
$('ul#content').empty();
if (data.length == 1)
$('#pid')
.val(data[0].patientid);
$.each(data, function() {
$('ul#content').append('<li><a href="inserting.php?id=' + this.id + '">' + this.patientid + ' ' + this.lastname + ' ' + this.firstname + ' ' + this.middlename + '</a></li>');
});
}, "json");
}
});
});
要存储在'隐藏字段patientid'什么时候会被选中? – Beginner
这是从哪里$ pid? –
是的,当搜索显示只有一个项目时,即使没有选择,patientid也会自动存储到隐藏的输入或像$ pid这样的变量。 – Romeo