【问题标题】:MediaWiki How to enable AutoComplete for InputBox? (or is there an alternative extension)MediaWiki 如何为 InputBox 启用自动完成功能? (或者是否有替代扩展名)
【发布时间】:2019-07-09 14:52:21
【问题描述】:

我在 wiki 的起始页中添加了一个输入框。我想模仿谷歌。

<inputbox>
type=search
break=yes
</inputbox>

我已经为搜索激活了自动完成功能 https://www.mediawiki.org/wiki/Manual:Enabling_autocomplete_in_search_box

现在我意识到,我对搜索框有这种很酷的自动完成功能,但对于突出的输入框却没有。

有没有办法激活它?我也已经在寻找替代扩展。

【问题讨论】:

    标签: mediawiki mediawiki-extensions


    【解决方案1】:

    有一个虚拟的方法可以做到这一点,按照以下步骤操作:

    • 确保 JQuery UI 已安装在您的 Mediawiki 版本中。如果没有,请将其附加到您的项目中。
    • 将此代码添加到您的Mediawiki:common.js 页面:

    ( function ( mw, $ ) {
        $( function () {
            $( '.searchboxInput' ).autocomplete( { //This is the class Name of your desired input
                source: function( request, response ) {
                    // Create a new Api object (see [[RL/DM#mediawiki.api]]
                    var api = new mw.Api();
                    // Start a "GET" request
                    api.get( {
                        action: 'opensearch',
                        search: request.term, // This is the current value of the user's input
                        suggest: ''
                    } ).done( function ( data ) {
                        response( data[1] ); // set the results as the autocomplete options
                    } );
                }
            } );
        } );
    }( mediaWiki, jQuery ) );
    • 清除浏览器中的缓存,然后刷新页面。您会发现,当您在该输入中输入任何字符时,它会显示相关页面列表。

    【讨论】:

    【解决方案2】:

    根据 ASammour 的输入,我再次搜索。

    更新Mediawiki:common.js 有帮助

    但仅限于

    document.getElementById('searchform').action = '/w/index.php';
    document.getElementsByName('search')[0].id = 'searchInput';
    

    如此处所述 https://www.mediawiki.org/wiki/Topic:Qun56cwugo953s9f

    【讨论】:

    • 感谢您的解决方案;但是,搜索框 (InputBox) 现在会忽略宽度设置,即它现在具有整个可用屏幕的宽度。我该如何解决?
    猜你喜欢
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2011-07-25
    • 2023-03-06
    相关资源
    最近更新 更多