1

特定の行の合計文字数を読み取るにはどうすればよいですか?

ユーザーがテキストエリアに75文字だけを5行だけ入力するようにしたいのですが、これはユーザーが5回の入力または戻りのみを使用できることを意味し、5回の入力または戻りの後はそれ以上の文字を入力できなくなります。つまり、1行に15文字です。

次のコードで現在の行番号を取得できます。キーを押すと、その行の合計文字数を計算するのはどうですか?

function getLineNumber()
{
    var t = $("#textareaId")[0];
    console.log(t.value.substr(0, t.selectionStart).split("\n").length);
}​
4

2 に答える 2

3

これがjsFiddleで、コードは次のとおりです。

function getLineNumber()
{
    var t = $("#textareaId")[0];
    var lineIndex = t.value.substr(0, t.selectionStart).split("\n").length-1;

    //alert the characters in line
    alert(t.value.substr(0, t.selectionStart).split("\n")[lineIndex].length);
}

$("#textareaId").keypress(function() {
  getLineNumber();
});

別のアプローチは、この更新されたjsfiddle1にあります

function getLineNumber()
{
    var t = $("#textareaId").val().split("\n");
    var lineIndex = (t.length)-1
    alert(t[lineIndex].length);
}

$("#textareaId").keypress(function() {
  getLineNumber();
});

お役に立てれば。

于 2012-09-23T18:04:00.630 に答える
0

たぶんあなたはあなたの問題を解決するためにほんの少しのcssを追加することができますか?

オプションa:スクロールバーなし、テキスト領域の拡張:

textarea {
overflow:auto;
}

オプションb:スクロールバーなし、テキスト領域は同じままです:

textarea {
overflow:hidden;
}

それは役に立ちますか?

于 2012-09-23T20:47:57.137 に答える