gpt4 book ai didi

javascript - 在搜索中考虑特殊字符

转载 作者:行者123 更新时间:2023-11-28 07:27:39 24 4
gpt4 key购买 nike

我有一个带有搜索建议的表单,当用户输入内容时会显示该搜索建议。现在,此搜索建议是可点击的,用户可以点击特定项目。当该项目单击时,会将它们带到类似 searchPage.php?user_query=被单击项目的文本(即 searchPage.php?user_query=html)。

我注意到,如果搜索建议项具有称为 ASCII ISO 8859-1 字符的特殊字符,它将忽略它,因此结果将是 searchPage.php?user_query=

在任何情况下都不能为空白,因为如果您单击一个项目然后它会填充整个列表,那么它的设计很糟糕。

下面是搜索建议js:

$(function(){
$(".search").keyup(function()
{
var searchid = $(this).val();
var dataString = 'search='+ searchid;
if(searchid!='')
{
$.ajax({
type: "POST",
url: "search.php",
data: dataString,
cache: false,
success: function(html)
{
$("#result").html(html).show();
}
});
}return false;
});

jQuery("#result").live("click",function(e){
var $clicked = $(e.target);
var $name = $clicked.find('.name').html();
var decoded = $("<div/>").html($name).text();
window.open('searchPage.php?user_query=' + decoded,'_self',false);

$('#searchid').val(decoded);
});
jQuery(document).live("click", function(e) {
var $clicked = $(e.target);
if (! $clicked.hasClass("search")){
var $name = $clicked.find('.name').html();
var decoded = $("<div/>").html($name).text();

}
});
$('#searchid').click(function(){
jQuery("#result").fadeIn();
});
});

下面是表格:

<form method="get" action="searchPage.php" enctype="multipart/form-data" autocomplete="off">
<input type="text" class="search" id="searchid" name="user_query" id="searchBar" placeholder="Search for courses" />
<input type="submit" id="searchButton" name="search" value="search" class="btn btn-danger" autocomplete="off"/>

<div id="result"></div>

</form>

最佳答案

首先,正如 GolezTrol 所评论的,我会在任何地方使用 UTF8:这是避免像您这样的问题的推荐最可靠的方法。

然后,在您遇到的特殊情况下,您可以尝试替换

  var decoded = $("<div/>").html($name).text();

  var decoded = encodeURIComponent($("<div/>").html($name).text());

(不确定它是否正常工作......)

关于javascript - 在搜索中考虑特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29461769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com