2011-12-16 76 views
0

我爲我的網站構建了一個自動完成功能,用於查詢數據庫中的結果。我目前可以得到結果,將它們變成超鏈接,並將它們動態添加到頁面中。偶爾我會得到非常長的結果(40-50個字符),我想將它們縮減到20個字符或更少。這裏是我當前的代碼:更改從WebService返回的文本

$.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
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/

+0

值不是一個字符串。我不確定它是什麼,但我可以將它用作超鏈接的文本。通過值給我的唯一選項如下:value.constructor,value.hasOwnProperty,value.isPrototypeOf,value.propertyIsEnumerable,value。 toLocalString,value.toString和value.valueOf。 – vesuvious 2011-12-16 19:47:36