改变表's列的颜色通过取决于选择
Change table's column color through depending on select
我有一个有3列的表,我想把它的颜色改成绿色,这取决于我在检查表(表单)上选择了什么。
我想改变在GREEN列取决于我选择的城市。例如,如果我选择纽约,那么纽约栏变成绿色。什么好主意吗?
HTML - Table:
<table id="myTable">
<tr class="head">
<th></th>
<th>New York</th>
<th>Chicago</th>
<th>San Francisco</th>
</tr>
<tr>
<th>A Poetic Perspective</th>
<td>Sat, 4 Feb 2012<br />11am - 2pm</td>
<td>Sat, 3 Mar 2012<br />11am - 2pm</td>
<td>Sat, 17 Mar 2012<br />11am - 2pm</td>
</tr>
<tr class="even">
<th>Walt Whitman at War</th>
<td>Sat, 7 Apr 2012<br />11am - 1pm</td>
<td>Sat, 5 May 2012<br />11am - 1pm</td>
<td>Sat, 19 May 2012<br />11am - 1pm</td>
</tr>
<tr>
<th>Found Poems & Outsider Poetry</th>
<td>Sat, 9 Jun 2012<br />11am - 2pm</td>
<td>Sat, 7 Jul 2012<br />11am - 2pm</td>
<td>Sat, 21 Jul 2012<br />11am - 2pm</td>
</tr>
<tr class="even">
<th>Natural Death: An Exploration</th>
<td>Sat, 4 Aug 2012<br />11am - 4pm</td>
<td>Sat, 8 Sep 2012<br />11am - 4pm</td>
<td>Sat, 15 Sep 2012<br />11am - 4pm</td>
</tr>
</table>
HTML - Form:
<form name="myForm" method="POST">
<fieldset>
<legend>Register your interest</legend>
<p><label class="title" for="name">Your name:</label>
<input type="text" name="name" id="name"><br />
<label class="title" for="email">Your email:</label>
<input type="text" name="email" id="email"></p>
<label class="title" for="persons">Persons:</label>
<input id="personsId" type="text" name="persons" id="persons"></p>
<p><label for="location" class="title">Your closest center:</label>
<select class="target" name="location" id="location">
<option id="1" value="ny">New York</option>
<option id="2" value="il">Chicago</option>
<option id="3" value="ca">San Francisco</option>
</select></p>
<span class="title">Are you a member?</span>
<label><input type="radio" name="member" value="yes" /> Yes</label>
<label><input type="radio" name="member" value="no" /> No</label></p>
</fieldset>
<div class="submit" id="myButton"><input type="button" value="Register" /></div>
</form>
脚本:
<script type="text/javascript">
$(document).ready(function(){
$( ".target" ).change(function() {
$("tr:even").css("background-color", "green");
});
});
</script>
不使用if else
,添加data-city
属性来映射下拉列表的哪个值对应于表的哪个列。向th
中加入data-city
<th data-city="ny">New York</th>
<th data-city="il">Chicago</th>
<th data-city="ca">San Francisco</th>
根据下拉值选择第th项并获得其索引。获取基于该索引的整个列(tds)并更改css。
$(document).ready(function(){
$( ".target" ).change(function() {
var city = $(this).val(); // <--- the value from drop down
var index = $('#myTable th[data-city="'+city+'"]').index()+1;
$("td").css("background-color", "transparent"); // <--- reset the color to all columns
$("td:nth-child("+index+")").css("background-color", "green");
}).change(); // <-- color the column on load
});
这里是一个演示http://jsbin.com/leqinun/1/edit?html,js,output
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 高亮显示时编辑文本大小和颜色
- 用与线条相同的颜色填充多折线图上的点
- 更改使用Chart.js创建的图表中的轴线颜色
- 如何使用jquery更改html中的背景颜色
- 动态更改高图中的系列颜色
- jquery移动对齐按钮取决于内容大小
- jsf中两个字符串的颜色代码差异
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- d3.hexbin插件-动态定义颜色域以适应数据
- 如何更改文本区域的颜色's文本,具体取决于它是否为占位符
- 如何更改页眉'的底部边框颜色取决于滚动位置
- 谷歌API多个标记与不同的颜色取决于一个类
- 如何结合javascript与HTML,使表改变颜色取决于值
- 谷歌表JSON表提要,改变颜色的行取决于在单元格中的值
- 更改jQuery UI下拉菜单's的背景颜色取决于复选框状态
- 改变表's列的颜色通过取决于选择
- 如何禁用(或改变颜色)第二个下拉选项取决于第一个选择
- 多个可拖拽元素,颜色不同,取决于可拖拽元素的位置
- JQuery改变TR背景颜色取决于当前选择的文本输入