如何根据下拉列表更改所选行的背景色
How to change the background color of the selected rows based on the dropdown
我需要根据下拉菜单更改行的背景色。当我选择表中的复选框并在下拉列表中选择bg颜色需要更改的颜色时,下拉列表中有一些颜色。
function changeColor() {
var check = document.getElementById('checkBox').checked;
function colorChange() {
if (value = red) {
check.parentNode.style.background = "red";
}
if (value = yellow) {
check.parentNode.style.background = "yellow";
}
if (value = green) {
check.parentNode.style.background = "green";
}
}
Js出价
为什么要再次定义function colorChange
?
使用
querySelectorAll('td [type="checkbox"]:checked')
选择checked
元素。
试试这个:
var obj = [{
Firstname: "Bob",
Lastname: "Mayer",
Email: "bob@mayer.com",
Number: "123456789"
}, {
Firstname: "Steven",
Lastname: "Spil",
Email: "steven@spill.com",
Number: "987654321"
}, {
Firstname: "Paul",
Lastname: "Taucker",
Email: "paul@tack.com",
Number: "578954321"
}, {
Firstname: "computer",
Lastname: "Tech",
Email: "comp@tech.com",
Number: "418741876"
}, {
Firstname: "User",
Lastname: "Interface",
Email: "user@inter.in",
Number: "949796928"
}];
var table = document.createElement('table');
table.id = "table";
var headcell = document.createElement('th');
var cell = document.createElement('td');
var input = document.createElement('input');
var tableContainer = document.createElement('div');
document.body.appendChild(tableContainer);
function createTable() {
tableContainer.appendChild(table);
var row = document.createElement('tr');
table.appendChild(row);
headcell = document.createElement('th');
row.appendChild(headcell);
headcell.innerHTML = "Select";
headcell = document.createElement('th');
row.appendChild(headcell);
headcell.innerHTML = "Sl. NO";
Object.keys(obj[0]).forEach(function(val) {
headcell = document.createElement('th');
row.appendChild(headcell);
headcell.innerHTML = val;
});
for (var i = 0; i < obj.length; i++) {
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkbox.id = "checkBox";
checkbox.onclick = changeColor;
var row = document.createElement("tr");
table.appendChild(row);
var cell = document.createElement("td");
row.appendChild(cell);
cell.appendChild(checkbox);
var cell = document.createElement("td");
row.appendChild(cell);
cell.innerHTML = i;
for (key in obj[i]) {
var cell = document.createElement("td");
row.appendChild(cell);
cell.innerHTML = obj[i][key];
}
}
return true;
}
createTable();
var selectDiv = document.createElement('div');
tableContainer.appendChild(selectDiv);
var select = document.createElement('select');
selectDiv.appendChild(select);
select.onchange = colorChange;
select.id = "selectElement";
var none = document.createElement('option');
none.innerHTML = "None";
none.value = "none";
select.appendChild(none);
var red = document.createElement('option');
red.innerHTML = "Red";
red.value = "red";
select.appendChild(red);
var yellow = document.createElement('option');
yellow.innerHTML = "Yellow";
yellow.value = "yellow";
select.appendChild(yellow);
var green = document.createElement('option');
green.innerHTML = "Green";
green.value = "green";
select.appendChild(green);
function changeColor(e) {
var checked = e.target.checked;
var color = document.getElementById('selectElement').value;
if (checked) {
e.target.parentNode.parentNode.style.background = color;
} else {
e.target.parentNode.parentNode.style.background = "";
}
}
function colorChange() {
var color = this.value;
var elems = document.querySelectorAll('td [type="checkbox"]:checked');
[].forEach.call(elems, function(elem) {
elem.parentNode.parentNode.style.background = color;
});
}
* {
font-family: 'verdana';
}
table {
margin-bottom: 15px;
}
input {
margin: 5px;
}
th,
td {
border: 1px solid #ccc;
font: 13px'verdana';
padding: 5px;
}
th {
font-weight: bold
}
table [type="text"],
table [type="email"],
table [type="number"] {
display: block;
width: 90px;
}
[value="Delete"] {
display: block;
}
Fiddle here
相关文章:
- jquery.each(第2行)添加背景色
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 悬停时淡入背景色
- 如何在单击单元格中的链接值时动态更改表行背景色
- Gridview内部的下拉框在回发时未保留背景色
- 用背景色智能填充引导列
- 带有背景色的高图表柱形图
- 带有javascript的选定文本的背景色
- 当代码使用背景色时无法更改位置
- 将元素放置在方框顶部时更改方框的背景色
- 检索表中元素的背景色
- 在Wordpress中创建随机背景色
- 存在事件的单元格的jQuery DatePicker背景色(加载时)
- CSS转换未在增加高度时更新背景色
- 如何设置按钮来更改按钮的背景色
- 避免使用背景色和边框色
- 更改表列javascript的背景色
- 使用Jquery选中复选框时,更改复选框的背景色
- 更改HTML中所选区域的背景色/不透明度
- 如何根据下拉列表更改所选行的背景色