【问题标题】:Passing value to an input in hidden?将值传递给隐藏的输入?
【发布时间】:2015-09-27 07:12:46
【问题描述】:

大家好,我很难从实时搜索中传递值,其中搜索的值通过 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 值传递给这样的输入<. input type="hidden" id="pid" name="pid" value="$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>

【问题讨论】:

  • 你想在patientid被选中时将其存储在隐藏字段中?
  • $pid 来自哪里?
  • 是的,当搜索显示只有一项时,即使不选择它,也会自动将 patientid 存储到隐藏的输入或 $pid 之类的变量中。
  • $pid, 应该是我的 patientid 变量。
  • 我添加了页面的html部分

标签: php jquery ajax


【解决方案1】:

你可以试试这个:

$(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 的值也将存储到输入值中?
  • @Romeo GT 1 时?
  • 当用户在搜索中输入单个文本时,已经显示了一些内容
  • 我想要得到的是当搜索的显示同时只是该显示项目的一个耐心ID。也将通过/显示在输入值上。
  • 还是不行,当显示只有一个时输入为空。
【解决方案2】:

将以下行添加到您的 html 部分

&lt;input type="hidden" id="pid" name="pid" value=""/&gt;

在 Jquery 中,更新隐藏的值

$("#pid").val(patientid);

【讨论】:

  • 我试图在脚本的某个地方插入这个 somwhere 但输入时没有显示任何内容。
  • 你能发布你的html部分吗?
  • 我添加了页面的html部分
猜你喜欢
  • 1970-01-01
  • 2021-05-08
  • 1970-01-01
  • 2021-01-31
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多