我使用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>
答案 0 :(得分:0)
一旦获得数据(可能是糟糕的用户体验),或者您是否显示多个标题,似乎有点不清楚是否要删除头部?
隐藏thead想要隐藏标题的位置/时间:
var elem = $("thead");
elem.css('visibility', 'hidden');
或者如果你继续得到多个:
表
THEAD
THEAD
......
然后我建议您更新/替换的DOM节点不正确。我建议你看看在更新时单独替换tbody并删除你的移植html中的thead。关于代码的一件事,作为需要测试很多东西的人,你的元素上的ID在哪里,让每个人都生活更轻松.... :)