语义用户界面-获取搜索查询

2022-06-17 00:00:00 input javascript semantic-ui

我使用的是语义用户界面,更具体地说是ui fluid seach。我声明如下:

        <div id="inputIDtextfield" class="ui fluid search" style="width: 250px">
            <div class="ui icon input">
                <input id="inputValue" style="width: 250px" class="prompt" type="text" placeholder="Onekey_ID">
                <i class="search icon"></i>
            </div>
            <div class="results"></div>
        </div>
我需要向RESTful server发送请求,并将搜索查询作为正文的一部分,这就是问题所在-我不确定如何检索正在搜索的查询。我尝试如下:

$('#inputIDtextfield')
    .search({
        minCharacters: 3,
        searchOnFocus: false,
        searchDelay: 500,
        apiSettings : {
            url : '/rest/get-hcp-suggest',
            method: 'POST',
            data: JSON.stringify({
                'search': document.getElementById('inputValue').value
            }),
            contentType: "application/json; charset=utf-8",
            dataType: "json",

            onResponse: function(response){
                console.log(response);
                var convertedResponse = {
                    results : []
                };

                // translate response to work with search
                $.each(response, function(index, item) {
                    // add result to category
                    convertedResponse.results.push({
                        title       : item.name,
                        description : item.onekey_id,
                    });
                });
                return convertedResponse;
            },
        },
    });
}

但在此部分:

data: JSON.stringify({
    'search': document.getElementById('inputValue').value
}),

document.getElementById('inputValue').value始终为空。

如何检索搜索查询?


解决方案

我将请求的数据设置在apiSettingsbeforeSend方法中,解决了这个问题,如下所示:

beforeSend: function(settings) {
    settings.data = JSON.stringify({
        'search': document.getElementById('inputValue').value
    });

    return settings;
}

有关语义的更多信息UI API usage page。

相关文章