修改从WebService返回的文本

Altering text returned from WebService

本文关键字:文本 返回 WebService 修改      更新时间:2023-09-26

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

但是没有效果。

if (value.length > 20) {
    value = value.substr(0, 20);
}

这里假设value是一个sting。

下面是一个演示: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/