Скрыть кнопку для модального, если {{value [#]}} пуст - PullRequest
0 голосов
/ 01 мая 2020

В настоящее время я работаю над веб-интерфейсом для отчетов Excel, касающихся запасов на складе, используя Flask. Я построил таблицу с использованием DataTables, которая извлекает данные из файла CSV, и это работает. Меня попросили добавить дополнительную ячейку данных в конце каждой строки, в которой есть нажимаемая кнопка для открытия заметок, если в файле csv есть заметка для этого товара. Я пытаюсь использовать значок Font Awesome, чтобы пользователь щелкнул мышью, чтобы открыть модальное окно, в котором отображается заметка, однако значок не отображается только при наличии заметки для просмотра.

Вот что я попробовал

<tbody>                     
    {% for value in stocklist %}
    <tr>
       <td value="{{ value[12] }}"><p class="muted hidden">{{ value[12] }}</p></td>                        
       <td>{{ value[0] }}</td>
       <td>{{ value[2] }}</td>
       <td class="over-25">{{ value[4] }}</td>
       <td>{{ value[6] }}</td>
       <td>{{ value[7] }}</td>
       <td>{{ value[8] }}</td>
       <td>{{ value[9] }}</td>
       <td>{{ value[10] }}</td>
       <td>{{ value[11] }}</td>
       <td id="notes"><button type="button" class="btn btn-warning hide_show" data-toggle="modal" data-target="#myModal"><i class="fas fa-exclamation"></i></button></td>
     </tr>                                       
     {% endfor %}

     {% for value in stocklist %}
        <div class="modal fade" id="myModal" role="dialog">
            <div class="modal-dialog">
                <!-- Modal content-->
                <div class="modal-content">
                    <div class="modal-header ml-2">                                    
                       <h4 class="modal-title">Notes</h4>
                    </div>
                    <div class="modal-body">
                       <p>{{ value[13] }}</p>                                    
                    </div>
                    <div class="modal-footer ml-2">
                       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    </div>
                 </div>
              </div>
           </div>
     {% endfor %}                       
</tbody>

А вот и jQuery Я попробовал -

$("#notes").find('hide_show').filter(function() {
return !this.firstChild; 
}).hide();

Я основал свою попытку на этом ответе -> Скрыть элементы div, если они пустые

Другая проблема, с которой я столкнулся, заключается в том, что при открытии модального окна отображается одна и та же заметка (примечание для позиции № 1) для каждой акции. пункт независимо

Как заставить значок появляться только при наличии заметки, а затем отображать правильную заметку в модале при открытии?

Любая помощь будет принята с благодарностью! Спасибо

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Я разобрался!

Я добавил следующее ->

{% if value[13] is number %}
<td></td>
  {% else %}
    <td>The icon I wanted to display</td>
 {% endif %}

В файле csv, если для стокового элемента нет заметки, он автоматически заполняется до 0, поэтому значок не отображается так что нечего нажимать.

0 голосов
/ 01 мая 2020

Вы можете добавить данные заметки в значение вытащил. Я понятия не имею, как вы тянете данные, но это подсказка

{% if value.notes %}

<td id="notes"><button type="button" class="btn btn-warning hide_show" data-toggle="modal" data-target="#myModal"><i class="fas fa-exclamation"></i></button>
</td>

{% endif %}
...