首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在有人取消单击复选框时更改背景颜色

如何在有人取消单击复选框时更改背景颜色
EN

Stack Overflow用户
提问于 2011-05-01 14:39:35
回答 3查看 2.4K关注 0票数 0

要突出显示一行,我的代码是:

代码语言:javascript
运行
复制
function highlight_row(row_id)
{
    var row = document.getElementById(row_id);
    row.style.background = "yellow"; // background yellow
}

我的HTML代码是:

代码语言:javascript
运行
复制
<tr id="row_{{ forloop.counter }}"><td>{{ word.n }}</td><td style="padding:0;"><a href="/search/?q={{ word.word }}" style="padding:5px;display:block;color:blue;">{{ word.word }}</a></td><td style="text-align:center"><input type="checkbox" name="checkbox_{{ word.id }}" onclick="highlight_row('row_{{ forloop.counter }}')" /></td></tr>

当用户取消单击该行的复选框时,如何取消突出显示该行?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-01 14:44:37

将'this‘添加到调用函数:

代码语言:javascript
运行
复制
<td style="text-align:center">
 <input type="checkbox" 
        name="checkbox_{{ word.id }}" 
        onclick="highlight_row('row_{{ forloop.counter }}',this)" />
</td>

现在您可以使用复选框的选中状态来确定要执行的操作:

代码语言:javascript
运行
复制
function highlight_row(row_id,checkbox)
{
    var row = document.getElementById(row_id);
    row.style.background = checkbox.checked ? "yellow" : ""; 
}
票数 2
EN

Stack Overflow用户

发布于 2011-05-01 14:43:58

代码语言:javascript
运行
复制
function highlight_row(row_id)
{

  if (!highlight_row.toggleColor) highlight_row.toggleColor = 0;
  var row = document.getElementById(row_id);
  row.style.background = (highlight_row.toggleColor%2==0) ? "yellow" : ''; // put alternate color in ''
  highlight_row.toggleColor++;
}
票数 0
EN

Stack Overflow用户

发布于 2011-05-01 14:45:37

你是说像这样吗?

代码语言:javascript
运行
复制
function highlight_row(row_id)
{
  var row = document.getElementById(row_id);
  if (row.style.background !== "yellow") {
  row.style.background = "yellow";
  }
  else {
  row.style.background = "white";
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5846922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档