Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改从WebService返回的文本_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 更改从WebService返回的文本

Javascript 更改从WebService返回的文本,javascript,jquery,ajax,Javascript,Jquery,Ajax,我为我的网站建立了一个自动完成功能,可以查询数据库中的结果。我目前可以获得结果,将它们制作成超链接,并动态地将它们添加到页面中。偶尔我会得到40-50个字符长的结果,我想把它们减少到20个字符或更少。这是我目前的代码: $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: "autoCompleter2.asmx/GetDatabaseName", data: '{"

我为我的网站建立了一个自动完成功能,可以查询数据库中的结果。我目前可以获得结果,将它们制作成超链接,并动态地将它们添加到页面中。偶尔我会得到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 />");
        });
    },
});
但什么都不管用。任何帮助都将是惊人的

if (value.length > 20) {
    value = value.substr(0, 20);
}
这假设该值是一个sting

下面是一个演示:

如果value是DOM元素,则可以执行以下操作:

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

下面是一个演示:

值不是字符串。我不确定它是什么,但我可以使用它作为超链接的文本。值给我的唯一选项如下:value.constructor、value.hasOwnProperty、value.isPrototypeOf、value.propertyEnumerable、value。toLocalString、value.toString和value.valueOf.console.logvalue会得到什么;每个循环内?对不起,你第一次是对的。Visual Studio没有显示.length和.substr选项,因此我认为它们不可用。谢谢你的帮助!!很乐意帮忙。听起来你好像被VS迷住了。
var $value = $(value),
    text   = $value.text();
if (text.length > 20) {
    $value.text(text.substr(0, 20);
}