2012-01-24 10 views
3

私はasp.netベースのアプリケーションで作業しています。私は複数行のテキストボックスを使用していますが、私はasp.net.IのJavaスクリプトを使用しています。特定の文字または行番号を複数行のtextbox.howで検索したいのですが、Javaスクリプトを使用して複数行のテキストボックスから行番号を取得できますか?JavaScriptを使用して複数行のテキストボックスに行番号を取得する方法

+0

あなたが望むなら、私はあなたにJqueryでこれを与えることができます – user1006544

+0

あなたはJavaスクリプトについて考えていますか? –

+0

@Praveen:js-wayを追加するために[私の答え](http://stackoverflow.com/a/8984260/284240)を編集しました。 –

答えて

1
string[] lines = Textbox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); 
int lineNumberOfText = -1; 
for (int lineNumber = 0; lineNumber <= lines.Length - 1; lineNumber++) { 
    if (lines(lineNumber).Contains(textToSearch)) { 
     lineNumberOfText = lineNumber; 
     break; 
    } 
} 
を行きます

:タイトルをASP.NETからjavascriptに変更しました。この回答は間違っていますが、hとにかくうまい。

ここでは、(ケース-insitive検索のオプションで)何をしたいんJavascriptを機能です:

function getLineNumber(id, text, caseSensitive) { 
    var input = document.getElementById(id); 
    if (input != null) { 
     caseSensitive = (caseSensitive == true || caseSensitive == "true") ? true : false; 
     if (!caseSensitive) text = text.toLowerCase(); 
     var lines = input.value.split('\n'); 
     for (var i = 0; i < lines.length; i++) { 
      var line = caseSensitive ? lines[i] : lines[i].toLowerCase(); 
      if (line.indexOf(text) != -1) { 
       return i; 
      } 
     } 
    } 
    return -1; 
} 
+0

ok .....どうすればボタンクリックイベントに追加できますか? –

+0

それは動作していません.....未定義のようなエラーを返します...等 –

+0

"Hello World"(大文字小文字を区別しない) 'alert(getLineNumber( 'Textarea1'、 'Hello World '、false)) ' –

1
あなたはC#コードで次のようにこれを行うことができます

yourInputString 
// Get the text before your particular text 
.Substring(0, yourInputString.IndexOf("ParticularText")) 
// Get all lines 
.Split('\n') 
.Length 

UPDATE:あなたはコメントで述べたように、あなたはJavaScriptでこれをやりたい、ここでは

textBoxName.Value 
// Get the text before your particular text 
.substring(0, textBoxName.Value.indexOf("ParticularText")) 
// Get all lines 
.split('\n') 
.length 
+0

これをJavaスクリプトに追加するにはどうすればよいですか? –

+0

あなたは問題のjavascriptについて言及していませんか? – Maheep

0

Praveenさんは、私がここにHTMLhttp://jsfiddle.net/amantur/Uk6td/2/で何かを試してみました。しかし、それは愚かではありません。行に50文字(例のように)がありますが、単語の長さが50文字を超えると、すべてのロジックが破られるためです。また、ある単語がある行に収まらない場合は、次の行と列のインデックス区切りに移動します。それはあなたに行についての大まかなアイデアを与えるでしょうが、最初の行の後の列の場合には非常に間違っています。

関連する問題