【问题标题】:hide table header column隐藏表格标题列
【发布时间】:2016-01-28 18:07:44
【问题描述】:

我使用 jquery 代码在我的网站上提取搜索查询的结果。当结果出现时,我想隐藏表格的列标题之一。我已对 HTML 进行了适当的更改,当我直接进入搜索结果页面时,表格显示正确,但如果我刷新搜索结果页面或从该页面提取新查询,表格将恢复为原始文本。

我的问题是,如何调整 jquery 代码以隐藏每次刷新时出现的列标题文本?

这是我正在使用的 jquery

jQuery('.loading').show();
var dataArr = {'region_id': region_id, 'from_date': from_date, 'to_date': to_date, 'course_no': course_no, 'course_id': course_id, 'gtr': gtr};
jQuery.ajax({
    url: Drupal.settings.basePath + "course/search/region/api",
    type: 'post',
    cache: false,
    datatype: 'json',
    data: dataArr,
    success: function (result) {
        jQuery('.loading').hide();
        var parsed = JSON.parse(result);
        //jQuery('.result_search_region').html(result.data);
        if (parsed.data.length > 0) {
            jQuery('.result_search_region').html(' ');
            jQuery('.result_search_region').append('<h5>Course Availability</h5>');
            jQuery('.result_search_region').append(parsed.data);
        } else {
            jQuery('.result_search_region').html(jQuery('#dt_no_schedule').html());
        }
    }
});

这是我正在使用的 html:

<?php
    $schedule_in_arr = Direction_Session::get('schedule_id');
    $data_by_time = Direction_Session::get('data_by_time', array());
?>
<?php if (!empty($value['schedule_info'])): ?>
    <table class="jz-table jz-table-bordered jz-table-striped">
        <caption><?php echo $value['location_name']; ?></caption>
    <?php if (!empty($value['schedule_info'])): ?>
        <thead>
            <tr>
                <td>Start Date</td>
                <td class="alncenter">Duration</td>
                <td class="alncenter">Time</td>
                class="alncenter"></td>
                <td class="alncenter"></td>
            </tr>
        </thead>
        <tbody>

【问题讨论】:

  • 您似乎没有显示所有代码。我看到的唯一hide() 是针对不在html 代码中的元素。如果我们能第一次看到隐藏列的代码是正确的,那将会很有帮助。
  • 嗨,李,这是第一次正确显示的代码。但是一旦页面刷新,它就会显示 GTR。如果您认为这会有所帮助,我很乐意提供完整的代码页面。

标签: javascript jquery html


【解决方案1】:

似乎有点不清楚在获得数据后是否要移除头部(可能是糟糕的用户体验),还是显示多个头部?

要隐藏标题,请确定您想在何处/何时隐藏标题:

  var elem = $("thead");  
  elem.css('visibility', 'hidden');  

或者,如果您不断收到多个:



...

那么我建议您更新/替换的 DOM 节点不正确。我建议您考虑在更新时单独替换 tbody 并删除您移植的 html 中的 thead。关于代码的一件事,作为需要大量测试东西的人,您元素上的 ID 在哪里,让每个人都生活更轻松...... :)

【讨论】:

    猜你喜欢
    • 2019-06-10
    • 2011-01-01
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多