更改从WebService返回的文本

时间:2011-12-16 19:42:40

标签: javascript jquery ajax

我为我的网站构建了一个自动完成功能,可以在数据库中查询结果。我目前可以获得结果,将它们变成超链接,并动态地将它们添加到页面中。偶尔我得到很长的结果(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);

但没有任何作用。任何帮助都会很棒。

1 个答案:

答案 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);
}

以下是演示:http://jsfiddle.net/hEjxB/1/