[英]get data back from ajax php script
你好,我正在嘗試向我的網站添加實時搜索功能,我使用的是ajax php
我想當我單擊實時搜索結果以更改實時搜索字段的值並將所選結果的ID放在隱藏的表單字段中,以便稍后插入時使用
我嘗試在下面的代碼中執行此操作,但它給出以下錯誤:參數列表后出現Uncaught SyntaxError:missing)
<script> $(document).ready(function(){ load_data(); function load_data(query) { $.ajax({ url:"search.php", method:"GET", data:{textbook:query}, success:function(data) { $('#result').html(data); } }); } $('#search').keyup(function(){ var search = $(this).val(); if(search != '') { load_data(search); } else { load_data(); } }); }); </script> <script> selectxt(id, textbood_adress){ $('#search').val(textbood_adress); } </script>
<div class="form-group input-group" id="textbook"> <input type="text" name="search" id="search" placeholder="Search" class="form-control"> <span class="input-group-btn"> <button class="btn btn-default" type="button"><i class="fa fa-search"></i> </button> </span> </div> <div id="result"></div>
和為PHP
include ("../../includes/config.php");
$output = '';
if(isset($_GET['textbook'])){
$key=$_GET['textbook'];
$key = $db->escape($key);
$results = $db->rawQuery("SELECT * from textbook where textbook_address like '%{$key}%' ");
if($db->count > 0){
$output .= '
<div class="table-responsive">
<table class="table table bordered">
<tr>
<th>Textbook address</th>
<th>select?</th>
</tr>';
foreach ($results as $result) {
$output .= '
<tr>
<td>'.$result["textbook_address"].'</td>
<td><a id="selectclick" href="#" onclick="selectxt('.$result['id'].','.$result['textbook_address'].')">select</a></td>
</tr>
';
}
echo $output;
}else{
echo "<span>No results for your search</span>";
}
}
?>
您的函數聲明錯誤。 從更改您的JavaScript代碼
<script>
$(document).ready(function(){
load_data();
function load_data(query)
{
$.ajax({
url:"search.php",
method:"GET",
data:{textbook:query},
success:function(data)
{
$('#result').html(data);
}
});
}
$('#search').keyup(function(){
var search = $(this).val();
if(search != '')
{
load_data(search);
}
else
{
load_data();
}
});
});
</script>
<script>
selectxt(id, textbood_adress){
$('#search').val(textbood_adress);
}
</script>
至
<script>
function load_data(query) {
$.ajax({
url: "search.php",
method: "GET",
data: {textbook: query},
success: function (data) {
$('#result').html(data);
}
});
}
function selectxt(id, textbood_adress) {
$('#search').val(textbood_adress);
}
$(document).ready(function () {
load_data();
$('#search').keyup(function () {
var search = $(this).val();
if (search != '') {
load_data(search);
}
else {
load_data();
}
});
});
</script>
您的javascript函數聲明有誤,也放錯了位置。 這是CodePen上的示例。
請檢查並確保
$result['textbook_address']
中沒有' 。 這將破壞您的html輸出,因為瀏覽器將嘗試將其解釋為錯誤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.