これはあなたの問題を解決するのに役立つかもしれません:
https://github.com/STAR-ZERO/jquery-ellipsis
あるいは
http://dotdotdot.frebsite.nl/
アップデート
これが私が思いついたものです:Jsfiddle
appendList = ['Computer', 'Software', 'Programming Language', 'Python'];
idx = -1;
$('#appendButton').on('click', function() {
if (idx++ >= appendList.length-1)
return;
var inputField = $('#inputField'),
value = inputField.val();
inputField.val(value + ((idx == 0) ? appendList[idx]:' > ' + appendList[idx]));
value = inputField.val();
// Check the length based on the "size" of the input.
if (value.length >= 30) {
// Get the last "section"
var startPos = (value.lastIndexOf('>')-1),
begStr = value.slice(0, startPos - 1),
saveStr = value.slice(startPos);
// Now we need the last occurrence of '>',
// This will give you multiple occurrences of '...'
var secStartPos = begStr.lastIndexOf('>')+2;
// Or you can use these two lines, instead
// of the ones below if you only ever want
// one '...', but to always show the last "section"
//
// var secStartPos = begStr.indexOf('>')+2;
// while ((secStartPos = begStr.lastIndexOf('>', secStartPos)+2) >= 30) { };
//
var secSaveStr = begStr.slice(0, secStartPos);
// Now append '...'
secSaveStr += '...';
// Rebuild the string.
var finalStr = secSaveStr + saveStr;
inputField.val(finalStr);
}
});
ところで、テキストボックスが「> ... >」でいっぱいになったときにこれが何をするのかわかりません:) GL