当我在input
中键入某个关键字时,将显示搜索选项,但是当我单击建议的关键字时,它将不会转到该搜索结果的地址。如何使搜索结果包含指向结果的链接?
一个有效的示例位于http://max2colors.com/网站的搜索选项上。
<script type="text/javascript">
function ajaxSearch()
{
var input_data = $('#query').val();
if (input_data.length === 0)
{
$('#suggestions').hide();
}
else
{
var post_data = {
'query': input_data,
'<?php echo $this->security->get_csrf_token_name(); ?>': '<?php echo $this->security->get_csrf_hash(); ?>'
};
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>user/autocomplete",
data: post_data,
success: function (data) {
// return success
if (data.length > 0) {
$('#suggestions').show();
$('#autoSuggestionsList').addClass('auto_list');
$('#autoSuggestionsList').html(data);
}
}
});
}
}
</script>
答案 0 :(得分:0)
如果要基于单击的建议项设置输入值,请尝试使用如下的jquery代码:
<script type="text/javascript">
$('#autoSuggestionsList li').click(function (e) { // suggestion item click event
$('#query').val($(this).text()).focus(); // get the suggestion value & apply the value to the input
$('#suggestions').hide(); // close the suggestion list
});
function ajaxSearch()
{
var input_data = $('#query').val();
if (input_data.length === 0)
{
$('#suggestions').hide();
}
else
{
var post_data = {
'query': input_data,
'<?php echo $this->security->get_csrf_token_name(); ?>': '<?php echo $this->security->get_csrf_hash(); ?>'
};
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>user/autocomplete",
data: post_data,
success: function (data) {
// return success
if (data.length > 0) {
$('#suggestions').show();
$('#autoSuggestionsList').addClass('auto_list');
$('#autoSuggestionsList').html(data);
}
}
});
}
}
</script>