Есть ли в этом коде недостающие функции для всплытия материализованных данных? - PullRequest
0 голосов
/ 20 февраля 2020

Всплывающее окно материализации не появляется.

$(document).ready(function() {
  $('#cdn_customer_id').on('click', function() {
    //alert("hi00");
    var countCust = '<?php count($customers) ?>';
    if (countCust < 1) {
      Materialize.toast('Add a Sales/Client Master', 3000, 'red rounded')
    }
  });
<select class="js-example-basic-single" name="cust_id" id="cdn_customer_id">
  <option value="">SELECT CLIENT</option>
  <?php foreach ($customers as $cus) { ?>
    <option value="<?php echo $cus->cust_id; ?>" <?php if(!empty($inv)){if($inv[0]->cust_id!=0){ echo ($inv[0]->cust_id==$cus->cust_id)?'selected':''; }} ?> >
    <?php echo strtoupper($cus->cust_name); ?>
  </option>
  <?php } ?>
</select>

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Похоже, это материализация css конкретный c вопрос.

Ваша разметка выглядит неправильно. Документы используют эту структуру:

M.toast({html:'Add a Sales/Client Master'})

Codepen здесь .

Итак, объект внутри тоста. Не уверен, почему вы передаете данные других стилей.

Другой способ - сначала объявить html, а затем передать его. Из документов:

 var toastHTML = '<span>I am toast content</span><button class="btn-flat toast-action">Undo</button>';
  M.toast({html: toastHTML});

https://materializecss.com/toasts.html

0 голосов
/ 20 февраля 2020

Попробуйте следующее

Я могу внести в ваш код два изменения из того, что я вижу, я не знаю, исправит ли он все, но из информации, которую вы нам дали, это лучшее, что я могу придумать.


Первый выпуск:

Вы включаете click слушателя в раскрывающемся списке, конечно, вы хотите это срабатывает, когда кто-то выбирает параметр, а не когда он нажимает на кнопку выбора, я бы изменил следующую строку:

$('#cdn_customer_id').on('click', function() {

На change слушателя, просто изменив слово click:

$('#cdn_customer_id').on('change', function() {

Второй выпуск:

Не думаю, что счетчик клиентов установлен правильно, вы не использовали echo для вывода значение, не рекомендуется помещать значение PHP в JavaScript, но, поскольку вы сделали это, и у меня есть ограниченная информация для его изменения, мы оставим это как есть, но на самом деле установим значение должным образом изменив следующую строку:

var countCust = '<?php count($customers) ?>';

Чтобы отобразить значение, используя сокращенную версию, укажите Если вы используете PHP 5.4 или выше, это не должно быть проблемой:

var countCust = '<?=count($customers) ?>';

Однако, если по какой-то причине вы используете более раннюю версию PHP Я мог бы также включить более длинную версию:

var countCust = '<?php echo count($customers) ?>';

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...