Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在搜索表单中选择2_Javascript_Jquery_Ajax_Jquery Select2 - Fatal编程技术网

Javascript 在搜索表单中选择2

Javascript 在搜索表单中选择2,javascript,jquery,ajax,jquery-select2,Javascript,Jquery,Ajax,Jquery Select2,我需要用Select2构建一个搜索表单,但我无法让它正常工作 用户在字段中输入搜索词,该字段通过AJAX填充建议。点击这些建议,他就会进入页面。否则,他需要单击submit按钮/或按enter键进入扩展搜索。最后一点(点击提交按钮)不起作用 <form action="/search" method="get" class="form-search" id="global_search_form"> <div class="input"> <

我需要用Select2构建一个搜索表单,但我无法让它正常工作

用户在字段中输入搜索词,该字段通过AJAX填充建议。点击这些建议,他就会进入页面。否则,他需要单击submit按钮/或按enter键进入扩展搜索。最后一点(点击提交按钮)不起作用

<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>

搜寻
jQuery(“全局搜索”)。选择2({
占位符:“输入搜索词…”,
最小输入长度:2,
倍数:1,,
ContainerCSClass:“搜索查询”,
阿贾克斯:{
url:“remoteGlobalSearch”,
数据类型:“jsonp”,
安静百万:100,
数据:功能(术语,第页){
返回{
问:任期,
每页:10,
第页:第页
};
},
结果:功能(数据、页面){
var more=(第10页)

干杯

我认为
按钮
type=submit
以及各种浏览器如何解释它存在兼容性问题。 你试过使用吗

<input type="submit" value="Search">

而不是按钮标签

或者,如果您真的需要使用按钮标签,那么我建议您使用以下内容:

<button type="button" class="btn" onclick="this.form.submit()">Search</button>
搜索
这解决了你的问题吗?
干杯

嘿,拉杜,谢谢你的回复。更改“提交”按钮不会显示任何效果。主要问题是,select2搜索字段在模糊上失去了它的值。对不起,我最初误解了你的问题。但现在我明白了。您可以尝试为select2使用自定义标记器,onblur将标记用户输入,或者为全局搜索字段添加“onkeyup”事件,该事件将使用当前值填充隐藏字段。那你应该得到你想要的。