【问题标题】:Show table cell function显示表格单元格功能
【发布时间】:2018-05-23 21:08:20
【问题描述】:

更新:更准确地说,似乎表格单元格出现并立即再次消失?

更新更新:如果我使用 onmousedown 而不是 onclick,它会起作用吗?但是当然,当我释放鼠标按钮的那一刻,它又消失了,所以这也不起作用。

所以我四处搜索,似乎无法完成这项工作。我只是想创建一个函数,以便当我单击一个按钮时,它会将表格单元格的默认显示样式从无更改为显示单元格。

   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html  xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>
<script src="buildform.js" defer></script>
<link rel="stylesheet" href="main.css" />
<link rel="stylesheet" href="buildform.css" />

</head>

<body>
<form id="buildForm">
<table>
    <colgroup>
        <col />
        <col />
        <col />
    </colgroup>
    <tr>
    <td colspan="3">Custom Computers Order Form</td>
    </tr>
    <tr>
        <td><label>Operating System</label></td>
        <td>
            <select id="operatingSys" onchange="buildTotal()">
                <option name="none" value="none" selected>Select One</option>
                <option name="w7h" value="w7h">Windows 7 Home</option>
                <option name="w7p" value="w7p">Windows 7 Professional</option>
                <option name="w10h" value="w10h">Windows 10 Home</option>
                <option name="w10p" value="w10p">Windows 10 Professional</option>
            </select>
        </td>
        <td rowspan=2><label name="displayPrice" id="displayPrice">Display</label></td>
    </tr>
    <tr>
        <td><label>Processor</label></td>
        <td>
            <select id="processors" onchange="buildTotal()">
                <option name="none" value="none" selected>Select One</option>
                <option name="ii3" value="i3">Intel i3</option>
                <option name="ii5" value="i5">Intel i5</option>
                <option name="ii7" value="i7">Intel i7</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><label>Motherboard</label></td>
        <td>
            <select id="motherboards" onchange="buildTotal()">
                <option name="none" value="none" selected>Select One</option>
                <option name="a" value="a">Motherboard a</option>
                <option name="b" value="b">Motherboard a</option>
                <option name="c" value="c">Motherboard a</option>
            </select>
        </td>
    </tr>
    <tr>
        <td rowspan=4><label>RAM</label></td>
        <td>
            <select id="ram1" onchange="buildTotal()">
                <option name="none" value="none" selected>Select One</option>
                <option name="ii3" value="i3">Intel i3</option>
                <option name="ii5" value="i5">Intel i5</option>
                <option name="ii7" value="i7">Intel i7</option>
            </select>
            <button onclick="add()">Add More?</button>
        </td>
    </tr>
    <tr>
        <td id="hiddenRam1">
            <select id="ram2" onchange="buildTotal()">
                <option name="none" value="none" selected>Select One</option>
                <option name="ii3" value="i3">Intel i3</option>
                <option name="ii5" value="i5">Intel i5</option>
                <option name="ii7" value="i7">Intel i7</option>
            </select>
        </td>
    </tr>
    <tr>
        <td id="hiddenRam2">
            <select id="ram3" onchange="buildTotal()">
                <option name="none" value="none" selected>Select One</option>
                <option name="ii3" value="i3">Intel i3</option>
                <option name="ii5" value="i5">Intel i5</option>
                <option name="ii7" value="i7">Intel i7</option>
            </select>
        </td>
    </tr>
    <tr>
        <td id="hiddenRam3">
            <select id="ram4" onchange="buildTotal()">
                <option name="none" value="none" selected>Select One</option>
                <option name="ii3" value="i3">Intel i3</option>
                <option name="ii5" value="i5">Intel i5</option>
                <option name="ii7" value="i7">Intel i7</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><label>Hard Drive</label></td>
        <td>
            <select id="hardrives" onchange="buildTotal()">
                <option name="none" value="none" selected>Select One</option>
                <option name="ssd128gb" value="ssd128gb">128 GB Corsair SSD</option>
                <option name="ssd256gb" value="ssd256gb">256 GB Corsair SSD</option>
                <option name="hdd500gb" value="hdd500gb">500 GB Western Digital HDD</option>
                <option name="hdd1tb" value="hdd1tb">1 TB Western Digital HDD</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><label>Power Supply</label></td>
        <td>
            <select id="psus" onchange="buildTotal()">
                <option name="none" value="none" selected>Select One</option>
                <option name="300watt" value="300watt">300 Watt P/S</option>
                <option name="400watt" value="400watt">400 Watt P/S</option>
                <option name="500watt" value="500watt">500 Watt P/S</option>
                <option name="600watt" value="600watt">600 Watt P/S</option>
                <option name="700watt" value="700watt">700 Watt P/S</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><label>Case</label></td>
        <td>
            <select id="processors" onchange="buildTotal()">
                <option name="none" value="none" selected>Select One</option>
                <option name="case1" value="case1">Case 1</option>
                <option name="case2" value="case2">Case 2</option>
                <option name="case3" value="case3">Case 3</option>
            </select>
        </td>
    </tr>
</table>

JavaScript

function add() {
var x = document.getElementById("hidden");

    x.style.display = "table-cell";

}

当有人单击“添加更多”按钮时,应显示带有选项的第二个选择。我不知道我做错了什么。 什么都没有发生。

【问题讨论】:

  • 单元格最初是如何隐藏的?您的示例似乎工作正常,因此可能还有其他原因导致错误。 (至少在将" " 错字更正为空字符串"" 之后)
  • 隐藏在外部 css 文件中...似乎仍然不适合我 :(
  • jsfiddle.net/9vsqppbq - 似乎运行?你能把剩下的代码贴出来吗?
  • 发表在原问题中。
  • 假设 hidden 应该是 hiddenRam1 它似乎仍然有效,我猜你的 buildform.js 或 css 中有导致问题的东西。 console 中是否有任何错误?如果您inspect 单元格,应用了哪些样式?

标签: javascript


【解决方案1】:

尝试以下方法:

x.style.display = "table-cell"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-29
    • 2013-02-14
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多