json 发送时将字符串的第一个字母大写

Capitalize first letter of string on json sending

我有一个文本框可以根据城市名称从 JSON 文件中搜索城市,当我在文本框上键入时,我必须用大写字母写第一个字母,否则我的代码不能正常工作。

如何在我的代码中引入首字母大写的 Term?

我用css把第一个字母改成了大写,但对我不起作用,用小写字母发送。

这是我的代码:

<input autocomplete="off"  class="autocomplete-hint select" data-auto-complete-minlength="1" type="text" onFocus="searchCountry(this)">

<script type="text/javascript">

    function searchCountry(a) {
        $(function() {
            var cache = {};
            $(a).autocomplete({
                appendTo: ".countrys",
                change: function (event, ui) {
                    if (ui.item == null || ui.item == undefined) {
                        $(a).val("");
                        $(a).empty();
                        $(a).next("#loading").hide();
                    } else {
                        var position = $(".countrys").position(),
                        left = position.left, top = position.top;
                        $(".countrys > ul").css({
                            left: left + 20 + "px",
                            top: top + 4 + "px"
                        });
                    }
                },
                minLength: 1,
                select: function (event, ui) {
                    // Set autocomplete element to display the label
                    this.value = ui.item.label;
                    $(this).closest("tr").find(".countryid").val(ui.item.hotelid);
                    $(this).closest("tr").find(".countryid").next(".countryid").val(ui.item.hotelid);

                    // Store value in hidden field
                    $('#hidden_field').val(ui.item.id);
                    $('#hidden_field1').empty().text(ui.item.label);

                    // Prevent default behaviour
                    return false;
                },
                source: function( request, response ) {
                    $(a).next("#loading").show();
                    var term = request.term;
                    if (term in cache) {
                        response(cache[term]);
                        return;
                    }

                    $.getJSON( "jsonloadi.bc", request, function( data, status, xhr ) {
                        $(a).next("#loading").hide();
                        cache[ term ] = data;
                        response( data );
                    });
                }
            });
        });
    }
</script>

您可以使用以下函数将任何字符串大写 (source)

function capitalizeFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
}

这里,使用string.charAt(0).toUpperCase()将第一个字符改为大写,其余字符改为小写。您可以使用此功能修改您的请求,如下所示。

source: function( request, response ) {
  request.term = capitalizeFirstLetter(request.term)
  ...

我还没有对此进行测试,但它应该可以正常工作。