Можем ли мы найти размер строки в многострочном текстовом поле - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть многострочное текстовое поле в asp.net с 7 строками и максимальным размером 700 байт, и теперь каждая строка должна занимать только 100 байт, если она превышает ее, она должна перейти к следующей строке, пока не достигнет максимального размера.

1 Ответ

0 голосов
/ 19 сентября 2018

http://jsfiddle.net/3e3EH/721/

Ниже работает код:

<textarea id="foo" cols="50" var rows="7"></textarea>

$(document).ready(function(){
    var textArea = $('#foo');
    var maxRows = textArea.attr('rows');
    var maxChars = textArea.attr('cols');
    textArea.keypress(function(e){
        var text = textArea.val();
        var lines = text.split('\n');
        if (e.keyCode == 13){
            return lines.length < maxRows;
        }
        else{ //Should check for backspace/del/etc.
            var caret = textArea.get(0).selectionStart;
            console.log(caret);

            var line = 0;
            var charCount = 0;
            $.each(lines, function(i,e){
                charCount += e.length;
                if (caret <= charCount){
                    line = i;
                    return false;
                }
                //\n count for 1 char;
                charCount += 1;
            });

            var theLine = lines[line];
            return theLine.length < maxChars;
        }
    });

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...