我为我的网站构建了一个自动完成功能,可以在数据库中查询结果。我目前可以获得结果,将它们变成超链接,并动态地将它们添加到页面中。偶尔我得到很长的结果(40-50个字符),我想把它们减少到20个字符或更少。这是我目前的代码:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "autoCompleter2.asmx/GetDatabaseName",
data: '{"prefixText":"' + $('#tags').val() + '"}',
dataType: "json",
success: function(data) {
$(data.d).each(function(index, value) {
$("<a />").attr("href", "http://wms.pc.factset.com/sql_database.aspx?name=" + value).appendTo("#databaseHolder").text(value).after("<br />");
});
},
});
我在互联网上搜索过,但我找不到如何取出“值”变量并将其剪切成20个字符的子字符串。我见过代码如下:
$(value).text().substring(0, 2);
但没有任何作用。任何帮助都会很棒。
答案 0 :(得分:0)
if (value.length > 20) {
value = value.substr(0, 20);
}
这假定value
是一种刺痛。
以下是演示:http://jsfiddle.net/hEjxB/
如果value
是一个DOM元素,那么你可以这样做:
var $value = $(value),
text = $value.text();
if (text.length > 20) {
$value.text(text.substr(0, 20);
}