
你直接把这个拷贝到一个html文件中,打开就可以看效果,我建议你在生成table的时候可以把text的框加一个id,id中包含它属于的行和列,这样在点击text的时候可以很快的得到它属于的行和列。
<html>
<script>
function showRowAndCol(i, j) {
i = i + 1; //row number;
j = j + 1; //column number
documentgetElementById("currentInput")innerText = "text is at row: " + i + ", column " + j;
}
function getRowColNumber(textObj){
var td = textObjparentNode;
var tr = tdparentNode;
var table = trparentNode;
for (var i = 0; i < tablerowslength; i++) {
var row = tablerows[i];
if (row == tr) {
for (var j = 0; j < rowchildrenlength; j++) {
if (rowchildren[j] == td){
showRowAndCol(i, j);
return;
}
}
}
}
}
</script>
<body>
<div>
<span id="currentInput"></span>
<table border="1">
<tr>
<td width="38px;">
1
</td>
<td>
f
</td>
<td>
<input type="text" onclick="getRowColNumber(this)"/>
</td>
</tr>
<tr>
<td>
2
</td>
<td>
<input type="text" onclick="getRowColNumber(this)"/>
</td>
<td>
g
</td>
</tr>
<tr>
<td>
<input type="text" onclick="getRowColNumber(this)"/>
</td>
<td>
3
</td>
<td>
p
</td>
</tr>
<tr>
<td>
4
</td>
<td>
r
</td>
<td>
<input type="text" onclick="getRowColNumber(this)"/>
</td>
</tr>
<tr>
<td>
5
</td>
<td>
<input type="text" onclick="getRowColNumber(this)"/>
</td>
<td>
t
</td>
</tr>
<tr>
<td>
6
</td>
<td>
g
</td>
<td>
<input type="text" onclick="getRowColNumber(this)"/>
</td>
</tr>
</table>
<div>
</body>
</html>
2楼的兄弟,你算列数的方法也太牛逼了吧,那要是文本 有几百万个字符,你那循环要几百万次呀。
最简单的得到行和列的方法:
int totalline = textBox1GetLineFromCharIndex(textBox1TextLength) + 1;//得到总行数。该行数会随着文本框的大小改变而改变;若只认回车符为一行(不考虑排版变化)请用 总行数=textBox1LinesLength;(记事本2是这种方式)
int index = textBox1GetFirstCharIndexOfCurrentLine();//得到当前行第一个字符的索引
int line = textBox1GetLineFromCharIndex(index) + 1;//得到当前行的行号,从0开始,习惯是从1开始,所以+1
int col = textBox1SelectionStart - index + 1;//SelectionStart得到光标所在位置的索引 减去 当前行第一个字符的索引 = 光标所在的列数(从0开始)
private void Form1_Load(object sender, EventArgs e)
{
int j=0;
label1Text= FileRowText(@"c:\updatedat",2, ref j);
}
#region 获取文本某行数据
///
/// 获取文本文件某行数据
///
/// 文本文件路径
/// 第几行
/// 返回总行数
///
private string FileRowText(string filePath,int i, ref int j)
{
StreamReader sr = FileOpenText(filePath);
string str = "";
string text = "";
int num = 0;
while ((str = srReadLine()) != null)
{
num++;
if (num == i)
{
text = str;
}
}
j = num;
srClose();
return text;
}
#endregion
PHP如何从文本中提取指定行数内容?在php中,通过fopen()方法打开文件,在while中使用fgets()方法获取每行数据,每读到一行,就使用标识记录一次,通过累计记录数计算出文件的行数。下面介绍实现的过程。
方法/步骤分步阅读
1
/7
新建一个php文件,命名为handlephp,用于讲解PHP怎么获取文件的行数。
2
/7
新建一个文本文件,命名为testtxt,在里面输入四行数据,分别是aaa,bbb,ccc,ddd。
3
/7
在handlephp文件里,使用fopen方法以只读方式打开testtxt文件,代码如下:
4
/7
在handlephp文件里,创建一个初始变量i,用于保存文件内容的行数。
5
/7
通过while()语句,使用fgets方法从文件指针中读取一行,每读取一行,变量i自加一,直到到达文件末尾停止while的执行。
注:!feof($handle),函数检测是否已到达文件末尾。
6
/7
最后,使用echo输出文件的行数,并通过fclose关闭文件资源。代码如下:
7
/7
在浏览器执行handlephp文件,查看输出的行数,执行的结果为4行。
内容仅供参考并受版权保护
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int CountLines(char filename)
{
ifstream ReadFile;
int n=0;
char line[512];
string temp;
ReadFileopen(filename,ios::in);//ios::in 表示以只读的方式读取文件
if(ReadFilefail())//文件打开失败:返回0
{
return 0;
}
else//文件存在
{
while(getline(ReadFile,temp))
{
n++;
}
return n;
}
ReadFileclose();
}
void main()
{
cout<<"comntxt的行数为: "<<CountLines("comntxt")<<endl;
cinget();
}
@echo off
for /f %%a in ('type %1') do set /a v+=1
echo 执行的是 %1
echo 该文件有 %v% 行字符!
pause
直接把文件拖到该批处理图标上就行了,结果就会显示出来的,
不用先运行该批处理,在把文件拖到命令窗口中去,在按 回车那么麻烦。
以上就是关于点击HMTL页面中的表格td里面的文本框,怎么得到当前点击的行数和列数用JavaScript实现。全部的内容,包括:点击HMTL页面中的表格td里面的文本框,怎么得到当前点击的行数和列数用JavaScript实现。、C# textbox怎样获取里面文本有多少行、c#如何按行来读取文本文件,并显示文本的行数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)