2015-09-27 94 views
1

大家好,我很難從實時搜索中通過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> 
+0

要存儲在'隱藏字段patientid'什麼時候會被選中? – Beginner

+0

這是從哪裏$ pid? –

+0

是的,當搜索顯示只有一個項目時,即使沒有選擇,patientid也會自動存儲到隱藏的輸入或像$ pid這樣的變量。 – Romeo

回答

0

你可以試試這個:

$(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"); 
     } 
    }); 
}); 
+0

我的意思是theres沒有刷新頁面將發生或單擊按鈕。當顯示器只有一個項目時,patientid的值也將被存儲到輸入值中? – Romeo

+0

@Romeo是GT 1嗎? – Beginner

+0

GT u是什麼意思? – Romeo

0

以下行添加到您的HTML部分

<input type="hidden" id="pid" name="pid" value=""/>

而且jQuery中,更新隱含價值

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

我試圖在腳本上插入這個somwhere,但輸入中沒有顯示任何內容。 – Romeo

+0

你可以發佈你的HTML部分? –

+0

我已添加我的頁面的html部分 – Romeo