• Как добавить value к элементам выпадающего списка?

    @CrazyEnimal
    Кратко не получится.
    Ну вообще 2 варианта. При каждом Change у селекта можно менять значение в каком нить скрытом inpit и работать с ним.
    $("#select").on("change", function(){
      $("#hiddenInputSelect").val($(this).val());
    });

    Ну или как-то так...

    Ну и второй, брать значение прямо из select по его id например. т.к. нет абсолютно никакого смысла присваивать это значение стилизованному меню, оно только для красоты.
    Ответ написан
    Комментировать
  • Как сделать множественный фильтр в jquery?

    @CrazyEnimal
    Кратко не получится.
    Я бы делал так.
    Делаем АПИ, предположим на PHP, и при обращении по AJAX к этому апи с определенными POST или GET запросами я бы отдавал из него JSON который уже разбирал бы в JS на предмет замены информации на экране.
    Таким образом можно без перезагрузки всей страницы а только части с выдачей организовать отображение склада.

    ---------------------------getJSON.php------------------------
    <?php
       $result = new StdClass(); 
       if($_POST['filterName']){
            
            $result->success = true;
            $result->message = "SOME DATA";
    
        } else {
            $result->error = true;
            $result->errorMessage = "Не свезло";
        }
    
        $json = json_encode($json);
        echo $json;
    ?>
    ---------------------------getJSON.php------------------------
    
    ---------------------------index.html--------------------------
    <body>
        <form id="formID">
            <select name="filterName">
                <option>1</option>
                <option>2</option>
                <option>3</option>
            </select>
            <select name="filterName2">
                <option>1</option>
                <option>2</option>
                <option>3</option>
            </select>
        </form>
        <div id="placeReplace">
            some html
        </div>
    </body>
    <script>
    $("select.someSelect").on("change",function(){
        sendFormGetJSON();
        return false;
    });
    
    function sendFormGetJSON() {
    	var f = $('#formID').serializeObject();
    	$.ajax({
    		url: "getJSON.php",
    		type: "POST",
    		dataType: "json",
    		data: {
    			"filterName":f.filterName,
    			"filterName2":f.filterName2,
    		},
    		success: function(data){
    			setTimeout(function(){
    				if (data.success == true){
    					$("#placeReplace").html(data.successMessage);
    				}else{
    					alert(data.errorMessage);
    				}
    			}, 1000);
    		},
    		error: function(){
    			alert("Произошла ошибка, повторите попытку позже");
    		}
    	});
    
    }
    
    $.fn.serializeObject = function(){
        var o = {};
        var a = this.serializeArray();
        $.each(a, function() {
            if (o[this.name] !== undefined) {
                if (!o[this.name].push) {
                    o[this.name] = [o[this.name]];
                }
                o[this.name].push(this.value || '');
            } else {
                o[this.name] = this.value || '';
            }
        });
        return o;
    };
    </script>
    ---------------------------index.html--------------------------
    Ответ написан
    4 комментария
  • Как сделать так, чтобы по нажатию на кнопку в form отрабатывала JS-функция, а сама форма игнорировала отправку?

    @CrazyEnimal
    Кратко не получится.
    Можно просто сделать return false;
    function call(){
    // some code
    return false;
    }


    или с применением jquery
    $("#request").on("submit", function(){
      //  some code
      return false;
    });


    в этом случае если вместо " // some code" поставить например AJAX запрос то функция отработает но не перекинет по сабмиту а остановится.
    Ответ написан
    Комментировать
  • Как обрезать строку в php с конца до определенного символа?

    @CrazyEnimal
    Кратко не получится.
    $uri = 'localhost/blog/index.php';
    $url = str_repalce(basename($uri),'',$uri);


    или если нужно вместе со слешем то:
    $uri = 'localhost/blog/index.php';
    $url = str_replace("/".basename($uri),'',$uri);
    Ответ написан
    6 комментариев
  • Как сделать приложение для сайта?

    @CrazyEnimal
    Кратко не получится.
    Апи сайта, есть не что иное как страница сайта, которая работает не на вывод HTML кода а на вывод например JSON или XML, при этом при запросе такой страницы обычно нужно указывать GET или POST запрос. Например обработчик формы есть есть часть АПИ сайта. Подытоживая: Если мы можем обратиться к странице с GET или POST запросом и получить данные, то это можно назвать апи.

    Пример:
    <?php
    header('Content-Type: application/json');
    $answer = new StdClass();  
    if($_GET['response'])
        {
           $answer->success = true;
           $answer->message = 'Message: '.$_GET['response'];
        } else {
           $answer->success = fail;
           $answer->error = true;
           $answer->message = 'No GET Params';
        }
        $json = json_encode($answer);
        echo $json;

    Такой php файл по сути является API. Правда он кроме того что проверяет гет параметр больше ничего не делает. Но для примера достаточно.
    Ответ написан
    Комментировать
  • Может ли Телеграм бот "видеть" обновления на странице сайта?

    @CrazyEnimal
    Кратко не получится.
    Ну варианта 2:
    1- если это твой сайт, то лучше на сайте, при появлении новости дергать телеграм бота, и давать ему команду на отсылку сообщения.
    2 - если сайт не твой: нужно делать парсер сайта или если у него есть RSS канал смотреть на этот канала и при появлении новости отсылать сообшение, парсеру придется ползать на сайт через какие-то промежутки и смотреть с последней новости пока не нашли. Это надстройка над/под потом. Можно написать на питоне или php что проще будет.
    Ответ написан
    Комментировать