gpt4 book ai didi

javascript - 如何在选择时突出显示/着色多行?

转载 作者:行者123 更新时间:2023-12-03 11:28:21 24 4
gpt4 key购买 nike

这指的是我之前的问题。

How to change row color on selecting rows?

这次我有一个表,其中每行的第一列(值)都是数字,如下所示

<table border=1>
<tr id="id1">
<td>3</td>
<td>row12</td>
<td>row13</td>
</tr>
<tr id="id2">
<td>12</td>
<td>row22</td>
<td>row23</td>
</tr>
<tr id="id3">
<td>15</td>
<td>row32</td>
<td>row33</td>
</tr>
<tr id="id4">
<td>22</td>
<td>row42</td>
<td>row43</td>
</tr>
<tr id="id5">
<td>23</td>
<td>row52</td>
<td>row53</td>
</tr>
<tr id="id6">
<td>55</td>
<td>row62</td>
<td>row63</td>
</tr>
</table>

用于选择开始值和停止值的表单。

<form name="rcol" onsubmit="return false">
Start value: <input type="value" name="start"><br>
End value: <input type="value" name="stop"><br>
<input type="submit" value="Submit">
</form>

在文本框中选择开始和停止值时,值将传递到表格,并且表格将仅对第一列/值位于开始和停止范围内的那些行进行着色。我们如何实现这一点?请在这件事上帮助我。

最佳答案

Javascript:

function colorize() {
start_val = parseInt(document.getElementById('start').value);
stop_val = parseInt(document.getElementById('stop').value);


rows = document.getElementsByTagName("tr");

for (i = 0; i < rows.length; i++) {


td = rows[i].getElementsByTagName("td")[0];

values = td.innerHTML;

if (values >= start_val && values <= stop_val) {

td.parentNode.style.backgroundColor = 'red';

} else {

td.parentNode.style.backgroundColor = 'white';
}




}
}


document.getElementById("sub").addEventListener("click", colorize);

HTML:

<form name="rcol" onsubmit="return false">
Start value: <input type="value" name="start" id="start"><br>
End value: <input type="value" name="stop" id="stop"><br>
<input type="submit" value="Submit" id="sub">
</form>

所以,基本上,循环遍历 tr 标签,找到第一个子数值,将其与开始值和停止值进行比较,就是这样。演示:http://jsfiddle.net/84932q9g/

关于javascript - 如何在选择时突出显示/着色多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26827596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com