首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javascript切换表格的正文

使用javascript切换表格的正文
EN

Stack Overflow用户
提问于 2013-12-18 13:31:45
回答 4查看 1.2K关注 0票数 1
代码语言:javascript
复制
<div>
  <input type="radio" name="check" value="cash" checked/>cash
  <input type="radio" name="check" value="credit" />credit
</div>

<table>
  <tbody id="cash">
    <tr>
      <td>
        Cash User name:
      </td>

      <td>
        <input type="text" name="cash1" />
      </td>

    </tr>
  </tbody>

  <tbody id="credit">
    <tr>
      <td>
        credit User name:
      </td>
      <td>
        <input type="text" name="credit1" />
      </td>
    </tr>
  </tbody>
</table>

在div标签中,我有两个单选按钮。默认情况下,我已经选中了名为cash的单选按钮now。我想要的是,当选中单选按钮现金时,显示id为cash的tbody,隐藏id为credit的tbody,选中名称为credit的单选按钮时,显示id为credit的tbody,隐藏其他tbody。我已经用jQuery做过了,但我想用Javascript来做。

EN

回答 4

Stack Overflow用户

发布于 2013-12-18 13:38:59

如果您愿意使用纯CSS解决方案,那么就必须去掉radio按钮周围的div

代码语言:javascript
复制
tbody {
    display: none;
}

input[value="cash"]:checked + input[value="credit"] + table tbody[id="cash"] {
    display: table-row-group;
}

input[value="credit"]:checked + table tbody[id="credit"] {
    display: table-row-group;
}

注意:只需确保您声明了一些class并使这些选择器特定,否则它将以文档中上述组合中的所有元素为目标。

票数 2
EN

Stack Overflow用户

发布于 2013-12-18 14:49:17

下面是要在HTML之后编写的Javascript代码:

代码语言:javascript
复制
var radios = document.getElementsByName("check");
for( var i = 0; i < radios.length; i++){
    switch( radios[i].value){
        case "cash":
            radios[i].onclick = function(){
                document.getElementById("credit").style.display = 'none';
                document.getElementById("cash").style.display = 'block';
            };
            break;

        case "credit":
            radios[i].onclick = function(){
                document.getElementById("cash").style.display = 'none';
                document.getElementById("credit").style.display = 'block';
            };
            break;
    }

    if( radios[i].checked){
        radios[i].click();
    }
}

代码在http://jsfiddle.net/2sPGn/上运行

票数 0
EN

Stack Overflow用户

发布于 2013-12-18 14:58:11

Javascript代码

代码语言:javascript
复制
<script>
function showData(obj) {
    if ( obj.value == "cash") {
        document.getElementById("cash").style.display = '';
        document.getElementById("credit").style.display='none';
    } else {
        document.getElementById("cash").style.display = 'none';
        document.getElementById("credit").style.display='';
    }
}
</script>

HTML

代码语言:javascript
复制
<div>
    <input type="radio" name="check" value="cash" onclick='showData(this);' checked/>cash
    <input type="radio" name="check" value="credit" onclick='showData(this);' />credit
</div>
<table>
    <tbody id="cash">
        <tr>
            <td>Cash User name:</td>
            <td>
                <input type="text" name="cash1" />
            </td>
        </tr>
    </tbody>
    <tbody id="credit" style='display:none'>
        <tr>
            <td>credit User name:</td>
            <td>
                <input type="text" name="credit1" />
            </td>
        </tr>
    </tbody>
</table>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20650346

复制
相关文章

相似问题

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