Проблема в команде внутри условия Код (Javascript): $('.available select').on('change', function () { var modId = $(this).val(), title = $(this).find('option').filter(':selected').data('title'), price = $(this).find('option').filter(':selected').data('price'), basePrice = $('#base-price').data('base'); if (price) { $('#base-price').text(price), $('#base-price').html(" <i class=\"fas fa-ruble-sign iruble\"></i>"); } else { $('#base-price').text(basePrice).html(" <i class=\"fas fa-ruble-sign iruble\"></i>"); } }); Первый раз использую JQuery У меня есть код на html где выводиться сумма и иконка рубля HTML: <span id="base-price" data-base="<?=$product->price; ?>" class="price"><?= $product->price; ?> <i class="fas fa-ruble-sign iruble"></i></span> выбираю из списка количество роз и должна через Jquery меняться цена нужно чтобы после цены подставлялась иконка рубля также как в этой строке: HTML: <span id="base-price" data-base="<?=$product->price; ?>" class="price"><?= $product->price; ?> <i class="fas fa-ruble-sign iruble"></i></span> Как соединить (вложить) в span с прайсом $nbsp; и иконку рубля? В строке ниже. Код (Javascript): $('#base-price').text(price + html(" <i class=\"fas fa-ruble-sign iruble\"></i>"));
На что заменить её? Если можно код поправьте пожалуйста. Код (Javascript): $('#base-price').text(price), $('#base-price').html(" <i class=\"fas fa-ruble-sign iruble\"></i>");
смысла в двух установках значения одного и того же поля нет, вы сначала присваиваете полю base-price значение price, а потом значение "пробел и тег i с рублём" --- Добавлено --- $('#base-price').html(price+" <i class=\"fas fa-ruble-sign iruble\"></i>");
Большое спасибо, я думал что price можно писать только внутри .text() оказывается, всё намного проще.
метод .text() отличается от .html() тем, что метод .text() предполагает вставку в элемент текста, а не html кода. и все html симолы будут заменены на html сущности подобно тому, как это делает htmlspecialchars() в php