javascript - 如何使用下拉框显示表格

标签 javascript jquery html html-select

我正在尝试使用下拉框选项显示两个表格。

我正在使用这个 JS 代码。这是FIDDLE

 function change_tbl(dhi)
           {
                      if(dhi=='')
                     {
                            return;
                     }
                     $('#tbl_div div').css('display','none');
                     $('#'+dhi).css('display','block');
          }

但它不起作用。如何? 我需要第一个表格在加载时显示。 (意味着第一个表应该是默认选择。) 有什么解决办法吗?

最佳答案

您需要像这样调用onchange()中的函数

<select onchange="change_tbl(this.value)">
    <option value="">select table</option>
    <option value="tb1">table 1</option>
    <option value="tb2">table 2</option>
</select>

演示:Fiddle

此外, fiddle 中还存在一些其他问题,例如

  1. 未包含 jQuery
  2. 由于 change_tbl 在内联处理程序中使用,因此您需要在全局范围中声明它 - 在左侧面板的第二个下拉列表中选择“No Wrap Head/Body”

使用像这样的 jQuery 事件处理程序

<select id="table-select">
    <option value="">select table</option>
    <option value="tb1" selected>table 1</option>
    <option value="tb2">table 2</option>
</select>

然后使用 .change()用于注册更改事件处理程序的处理程序

jQuery(function () {
    $('#table-select').change(function () {
        $('#tbl_div > div').css('display', 'none');
        if (this.value) {
            $('#' + this.value).css('display', 'block');
        }
    }).change(); //this is used to trigger a manual change handler initially so that the state is properly set on page load
})

演示:Fiddle

另请阅读:Document Ready , trigger handler , change() handler , id-selector

关于javascript - 如何使用下拉框显示表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20853185/

相关文章:

javascript - getImageData 之后 insideHTML 不起作用

javascript - 在 Firefox 中注销后无法关闭选项卡

javascript - jQuery.getJSON 正在输出 JSON 内容的附加副本。和 $.toggle 不起作用

影响页面上其他元素的 jQuery 切换元素

javascript - 如何使用 jQuery/JS 将下拉项设置为选中状态?

html - 如何使用 Less 为背景颜色的默认变量添加渐变?

javascript - 使用 together.js 协同浏览 Angular.js 应用程序

javascript - 使用 JQuery 动态加载 ASP.NET MVC 局部 View

javascript - D3 线图未填充整个 svg 宽度

javascript - 如何在应用程序中添加jquery循环插件效果