Jquery:更改选择选项时将颜色更改为表格行,不适用于多个表格行
Jquery: change colour to table row when select option is changed not working multiple table rows?
对,我有一张桌子,有两行。在右侧单元格中,我有一个带有值(1、2 和 3(的下拉菜单。
根据选择的 with 我希望表格行更改特定颜色。当我有一个表行时,我已经设法让它工作,并且在值之间切换它工作正常。但是,当我复制代码以制作多行时,它会停止工作。
对于多行,如果我单击第一行的值 2,它也会将第一行更改为正确的颜色,然后如果我更改第 5 行的值,无论我选择什么值,它都会更改为我更改的第一行的颜色。如果这是有道理的。
这是代码...
-
.CSS
<style>
table td,th{
border:1px solid black;
padding-left:100px;
}
table tr{
background-color:red;
}
.online{
background-color:green;
}
.offline{
background-color:red;
}
.paused{
background-color:orange;
}
</style>
-
.HTML
<body>
<table id="table">
<tr style="background-color:grey;">
<th>
Hello
</th>
<th>
Is it
</th>
</tr>
<tr class="options">
<td>
yayaya
</td>
<td>
<select id="select">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td>
</tr>
<tr class="options">
<td>
yayaya
</td>
<td>
<select id="select">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td>
</tr>
</table>
</body>
-
简讯
<script>
$('select').change(function(){
if($('select').val() == "2"){
$(this).parents('.options').removeClass('online');
$(this).parents('.options').removeClass('offline');
$(this).parents('.options').removeClass('paused');
$(this).parents('.options').addClass('online');
}else if($('select').val() == "1"){
$(this).parents('.options').removeClass('online');
$(this).parents('.options').removeClass('offline');
$(this).parents('.options').removeClass('paused');
$(this).parents('.options').addClass('offline');
}else if($('select').val() == "3"){
$(this).parents('.options').removeClass('online');
$(this).parents('.options').removeClass('offline');
$(this).parents('.options').removeClass('paused');
$(this).parents('.options').addClass('paused');
}
});
</script>
这是在JSFIDDLE上,这样你就可以明白我的意思。
http://jsfiddle.net/n3nFB/1923/
尝试使用一行,然后复制并粘贴下面的同一行
将所有$('select').val()
更改为this.value
,以便您始终使用已更改的那个,而不是第一个。
http://jsfiddle.net/gaby/n3nFB/1924/演示
此外,您可以通过一次调用删除多个类,并且可以链接以下addClass
例如
$(this).parents('.options')
.removeClass('online offline paused')
.addClass('online');
http://jsfiddle.net/gaby/n3nFB/1925/演示
相关文章:
- 埃罗尔.内容/表格不变
- CSS 类在特定场景中不适用
- ng类不适用
- Internet Explorer CSS类样式没有'如果存在具有相同类名的其他元素,则不适用
- 联系表格不发送电子邮件
- 谷歌图表和谷歌表格不能同时显示
- 表格不包括我写的+号
- 联系表格不发送电子邮件,也没有通知
- 指令“链接”不适用,如我所愿
- 最小和最大轴值在具有对数轴的高图表中不适用
- 角度范围项目在项目更改后不适用
- 页面加载顺序有问题 - 样式不适用
- 更改可见性后,背景颜色不适用
- 联系表格不接受希腊字符
- CSS3 透视在动画完成之前不适用
- 将最后一个子项移到第一个位置不适用jquery
- 当函数作为参数传递时,Javascript函数提升不适用
- 表格的替代颜色 css 不适用
- CSS宽度不'通过.html()克隆html代码时不适用
- 为什么在jQuery中使用focusout适用于Firefox,而使用addEventListener则不适用;t