[英]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.