我需要使用Select2构建一个搜索表单,但是我无法正常工作。
用户将搜索词输入到通过AJAX填充建议的字段中。点击建议将他带到页面。否则他需要点击提交按钮/或按回车键进入扩展搜索。最后一点(点击提交按钮)不起作用。
<form action="/search" method="get" class="form-search" id="global_search_form">
<div class="input">
<input type="text" name="q" class="search-query" id="global_search" placeholder="Enter search term ...">
<button type="submit" class="btn">Search</button>
</div>
</form>
<script type="text/javascript">
jQuery("#global_search").select2({
placeholder: "Enter search term ...",
minimumInputLength: 2,
multiple: 1,
containerCssClass: 'search-query',
ajax: {
url: 'remoteGlobalSearch',
dataType: 'jsonp',
quietMillis: 100,
data: function (term, page) {
return {
q: term,
per_page: 10,
page: page
};
},
results: function (data, page) {
var more = (page * 10) < data.total;
return {
results: data.items,
more: more
};
}
},
formatResult: itemFormatResult,
formatSelection: itemFormatSelection,
escapeMarkup: function (m) {
return m;
}
});
function itemFormatResult(item) {
var markup = '<table class="item-result"><tr>';
if (item.image !== undefined) {
markup += '<td class="item-image"><img src="' + item.image + '" /></td>';
}
markup += '<td class="item-info"><div class="item-type">' + item.type_string + '</div>';
markup += '<div class="item-title">' + item.title + '</div>';
markup += '<div class="item-description">' + item.description + '</div>';
markup += '</td></tr></table>';
return markup;
}
function itemFormatSelection(item) {
location.href = item.url;
}
</script>
干杯
答案 0 :(得分:0)
我认为button
,type=submit
存在兼容性问题以及各种浏览器如何解释它。
你有没有尝试过使用
<input type="submit" value="Search">
而不是按钮标签?
或者,如果您确实需要使用按钮标签,那么我建议您使用以下内容:
<button type="button" class="btn" onclick="this.form.submit()">Search</button>
这是否解决了您的问题? 干杯!