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)
...
我还没有对此进行测试,但它应该可以正常工作。
我有一个文本框可以根据城市名称从 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)
...
我还没有对此进行测试,但它应该可以正常工作。