javascript - 根据选择显示表格/表格

标签 javascript php jquery forms selection

我知道这里有类似的问题,但我找不到适合我的答案。

我想要的是显示表单“默认”是选择了某些选项(在这种情况下,除了“Ban Appeal”或“Ban Appeal(西类牙语)”之外的所有内容,我希望仅在 Ban 时才显示表单“unban”上诉或禁令上诉(西类牙语)是选择最短、最简单的方式。

我知道使用 JQuery 或 Javascript 是可能的

这是我的代码:

<select>
    <option value="Ban Appeal" selected="selected"><-- Choose Topic --></option>
    <option value="Ban Appeal">Ban Appeal</option>
    <option value="Ban Appeal (Spanish)">Ban Appeal (Spanish)</option>
    <option value="Bug Report">Bug Report</option>
    <option value="Hacker Report">Hacker Report</option>
    <option value="Staff Application">Staff Application</option>
    <option value="Staff Complaint">Staff Complaint</option>
    <option value="English">English</option>
    <option value="Spanish">Spanish</option>
    <option value="Suggestion">Suggestion</option>
</select>

<form name="default" id="default" style="display:none"> <!-- Template for every option but Unban/Spanish Unban -->
<table>
<!-- Leaving out everything in here because it's a lot -->
</table>
</form>

<form name="unban" id="unban" style="display:none"> <!-- Template for unban/Spanish unban -->
<table>
    <tr>
    <!-- Leaving out everything in here because it's a lot. -->
    </tr>
</table>
</form>

最佳答案

使用 jQuery,您可以在选择更改时添加一个函数。然后,检查它具有哪个值并相应地显示或隐藏表单,如下所示:

$(document).ready(function(){             // you probably have a document-ready function already
    $('select').change(function(){        // onchange event
        switch ($(this).val()) {          // check the value
            case 'no-select':
                $('form').hide();
                break;
            case 'Ban Appeal':
            case 'Ban Appeal (Spanish)': 
                $('form#unban').show();
                $('form#default').hide();
                break;
            default:
                $('form#default').show();
                $('form#unban').hide();
        }
    }).trigger('change');                 // trigger the change event to make it work
                                          // directly when the DOM is loaded
});

您应该考虑为 select 提供一个 id 并在 JavaScript 中使用它;否则其他表单中的额外选择会导致问题。

如果以后您想添加更多表单或选项,我希望您清楚如何扩展这个小片段。

关于javascript - 根据选择显示表格/表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28010697/

相关文章:

php - 如何在 PHP 的类中创建调度表?

jquery - 使用 jQuery animate 使 div 从中心向下滑动?

javascript - 使用自定义 DropDownList 编辑器在 Kendo UI 网格中无法正确显示单元格值

php - 在 xampp 中的本地主机上运行文件不包括 Bootstrap 文件

javascript - Redux-form - 有没有办法知道哪些字段已更改? (更新和补丁)

php - Laravel 5.2 命名空间

javascript - 如何将 td 的文本颜色更改为红色

javascript - DataTables 警告 : table id=escritorios - Cannot reinitialise DataTable. 有关此错误的更多信息,请参阅 http ://datatables.net/tn/3

javascript - append 具有从 PHP 返回的特定 ID 的按钮不起作用

javascript - 对象字面量动态键