js获取选中行的数据

JavaScript014

js获取选中行的数据,第1张

<!DOCTYPE html>

<html>

  <head>

<meta http-equiv="Content-Type" content="text/html charset=UTF-8">

<title>RunJS 演示代码</title>

<script>

onload=function(){

var cks = document.querySelectorAll("table input[type='checkbox']")

for(var i=0i<cks.lengthi++){

var ck = cks[i]

ck.onclick = function(){

if(this.checked)

alert(this.parentElement.parentElement.children[7].innerHTML)

}

}

}  

</script>

  </head>

<body>

    <table>

<tr>

<td><input type="checkbox" /></td>

<td>1</td>

<td>2</td>

<td>3</td>

<td>4</td>

<td>5</td>

<td>6</td>

<td>7</td>

<td>8</td>

</tr>

</table>

  </body>

</html>

【实例名称】

选取textarea中的指定行

【实例描述】

使用控件的focus或select方法,可以很方便地选取textarea的所有内容,但却无法实现某行的选取。本例讲解如何选取textarea中的指定行。

【实例代码】

<function getTxtRow(num, mytxt) //获取指定行的方法-第二个参数为文本框ID

{

//获取文本框内当前光标的位置

var range = document.getElementById(mytxt).createTextRange()

var rect = range.getClientRects()//返回一个矩形

var left = rect[0].left

if(num >rect.length - 1 || num <0)

return

if(num == 0) //选择第一行的情况

{

//设置选择范围

var right = rect[0].right

range.moveEnd("character",-range.text.length)

while(range.offsetLeft + range.boundingWidth <right)

{

range.expand("character")

}

return range

}

else

{

//设置选择范围

var right = rect[num].right

var range = getTxtRow(num - 1, mytxt)

range.moveStart("character",range.text.length + 1)

while((range.offsetLeft + range.boundingWidth) <right)

{

range.expand("character")

}

if(range.offsetLeft >left)

range.moveStart("character",-1)

return range

}

}

//选择指定行数的方法

function getText(num)

{

var range = getTxtRow(num,"txt")//调用真正的获取行方法

if(range != null)//如果指定的行内容不为空

{

alert(range.text)

range.select() //选择指定的行

}

}

</SCRIPT>