Скрыть Datatable перед извлечением данных из базы данных MySQL

Вы можете очистить свойство управляемого компонента, которое не должно быть перекрашено при рендеринге ответа. Это можно сделать, используя код, аналогичный приведенному ниже фрагменту:

private String name;

public String getName(){return name;}
public void setName(String name){this.name=name};

public String submit()
{
    //do some processing
    ...
    // blank out the value of the name property
    name = null;
    // send the user back to the same page.
    return null;
}

. Причина текущего поведения может быть найдена в том, как обрабатываются процессы выполнения JSF. Все запросы JSF к просмотру обрабатываются в соответствии с стандартным запросом-ответом-ответами JSF lifecyle . В соответствии с lifecyle содержимое управляемого компонента обновляется со значением из запроса (т. Е. Устанавливается значение DataForm.Name) до выполнения события приложения (DataForm.submit). Когда страница отображается в фазе Render Response, текущее значение компонента используется для визуализации представления обратно пользователю. Если значение не будет изменено в событии приложения, значение всегда будет равно тому, которое применяется с запросом.

0
задан Shadow 3 March 2019 в 10:02
поделиться

2 ответа

Привет, мой друг, попробуй так:

<div class="table-responsive" id="yourInputSearchValue" style="display:none">
<table class="display dataTable" id="exampleTable"  >
                                //Your columns here
                               </table>
                                 </div>

Javascript:

$('#yourSubmit').on('click',function() {
console.log($('#yourInputSearchValue').val());
id = $.trim($('#yourInputSearchValue').val().replace(/\s+/g, ' '));
console.log(id);
$('#theDivthatContainsTheTable').hide();
exampleTable =$('#exampleTable').DataTable();
if ($.fn.DataTable.isDataTable("#exampleTable")) {
exampleTable.destroy();
$('#exampleTable tbody').remove();
}//this help when you search again
});

Надеюсь, это поможет

0
ответ дан stan chacon 3 March 2019 в 10:02
поделиться

Добавьте приведенные ниже коды в ПОСЛЕ ТОЛЬКО ПОСЛЕ ИНИЦИАЛИЗАЦИОННОЙ ТАБЛИЦЫ

if ($(".dataTables_empty").length) {
$(".dataTables_wrapper").hide(); }

Я сделал это, чтобы решить проблему

<script type="text/javascript"> $(document).ready(function() {
$('#example').DataTable(); if ($(".dataTables_empty").length) { $(".dataTables_wrapper").hide();} } ); </script>
0
ответ дан S. Patel 3 March 2019 в 10:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: