当我开始编写输入时,我的结果会显示为html标记,例如,如果我搜索“t”,我会得到:Title<p><span>Content</span></p>
。我想要标题内容,没有没有HTML标签。
这是我的php:
$search = isset($_GET['term']) ? $_GET['term'] : "";
$pdo = conecting();
$read = $pdo->prepare("SELECT * from articles WHERE title LIKE ?");
$read ->bindValue(1, "%$search%", PDO::PARAM_STR);
$read ->execute();
$data = array();
while($res = $read ->fetch(PDO::FETCH_ASSOC))
{
$data[] = $res['title'].'-'.$res['content'];
}
echo json_encode($data);
这是我开始自动完成的jQuery:
$('.j_autocomplete').autocomplete({
source: 'http://localhost/project/tpl/search.php'
select: function(event, ui){
var get= ui.item.value;
returndata(get);
},
change: function(data)
{
returndata($(this).val());
}
});
你知道如何解决这个问题吗?
答案 0 :(得分:1)
尝试使用这种方式:
在自动完成初始化后添加此代码:
.data("ui-autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item + "</a>")
.appendTo(ul);
};
像这样:
$('.j_autocomplete').autocomplete({
source: 'http://localhost/project/tpl/search.php'
select: function(event, ui){
var get= ui.item.value;
returndata(get);
},
change: function(data)
{
returndata($(this).val());
}
}).data("ui-autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item + "</a>")
.appendTo(ul);
};