Ответы пользователя по тегу PHP
  • Как изменить select на основании выбранного значения в другом select-e в Wordpress?

    @Zitttz
    Если по правилам Тостера так можно, то про ajax написал вот тут Как правильнее сделать калькулятор услуг? Все правильно вы думаете, но ajax вам нужен чтобы динамически получить этот массив, который Вы хотите вставить в select. Если он не должен менятся то ajax не нужен.
    select можно обновить вот так
    el = $('#myselect');
    $('#myselect option').remove(); //очистим от старых значений
    arr = ...; //массив элементов
    for (var i = 0; i < arr.length; i++) {
       el.append("<option value='"+i+"'>"+arr[i]+"</option>");
    }
    Ответ написан
    Комментировать
  • Как правильнее сделать калькулятор услуг?

    @Zitttz
    Нужно на серверной части сделать php скрипт, который обращается к базе данных и выводит цену, входные данные в него будут храниться в переменной $_POST.
    На стороне пользователя, в коде страницы делается кнопка, отлавливается нажатие не нее и при нажатии вызывается ajax функция, которая отправляет запрос на сервер и при получении ответа меняет value нужного элемента, на пришедшую сумму.

    Пример с jquery
    getPrice.php
    $type = $_POST['type'];
    $count = $_POST['count'];
    .....
    
    echo $resultsum;

    на стороне клиента
    <div id='pricevalue'></div>
    <div class='btn' id='updatePriceBtn'>Обновить прайс</div>

    js
    $(document).ready(function(){
        $('#updatePriceBtn').live('click', function(e) {  
            type = .... //тут значение типа
            count = .... //тут количества
            updatePrice(type, count);
        });
    });
    
    function updatePrice(type, count){
    data = 'type='+type+'&count='+count;
    $.ajax({
        url: 'getPrice.php',             // указываем URL и
        type: "POST",
        data: data,
        success: function (data, textStatus) { // вешаем свой обработчик на функцию success
            $('#priceValue').text(data);
           return true;
        }
        error(function() { 
            alert("Ошибка выполнения");
            return false;
     })
    });
    
    }
    Ответ написан
    Комментировать
  • Как поменять значение action?

    @Zitttz
    если есть jquery то лучше вот таким методом, так запрос не будет перезагружать страницу и не прийдется ломать html несколькими формами.

    <div id="card" style="margin-left: 50px; margin-bottom: 50px">
        <label class="radio-inline"><input type="radio" name="closed" value="0">Чеком</label>
        <label class="radio-inline"><input type="radio" name="closed" value="1">Картой</label>
    </div>

    $(document).ready(function () {
      $('#closed').change(function () {
            sendto($("#card input:radio:checked").val());
        });
     function sendto(card) {
         if (card){
            $.ajax({
                type: "GET",
                url: 'form.php',
                data : {card: card},
                success: function(data){
                    data = $.parseJSON(data);
                    // в data ответ сервера
                },
                error:function (request, err, ex) {
                }
            });
       }else{
       //тут ajax запрос на другой адрес
     }
    Ответ написан
    Комментировать