Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2016, 22:59
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 789

Не осилить аякс
Здравствуйте. Пытаюсь сделать сортировку для автокаталога.Которая будет содержать несколько полей.
В файле model.php написал ф-цию,которая возвращает $html, которая содержит поле с селект.В опшине динамически выводится список.
$html = '<select name="mark"   style="width:100%">';
/* в $aut id,в  $auto title */
$html .= '<option id="'.$aut.'" onclick="stor('.$aut.');"  value="'.$aut.'" >'.$auto.'</option>';
$html .= '</select>';

Теперь мне нужно сделать запрос в базу для второго поля и параметром передать id или value из опшион.Пытаюсь передать аяксом, но не выходит или пустой алерт или вообще ничего.
echo "
        <script type='text/javascript'>
 
            function stor(id) {
              $.ajax({
			  type:'POST',
			  url:'/modules/mod_search_auto/module.php',
			  data:{auto_id:id},
              success:function(data){                            
                alert(data);     
              };
            });
			}
        </script>           
        ";

В module.php
if (isset($_POST['auto_id'])) {
print_r('Вы нажали на кнопку: ' . $_POST['auto_id']);
}
Ответить с цитированием
  #2 (permalink)  
Старый 25.03.2016, 05:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от ureech
и параметром передать id или value из опшион
А смысл, если id="'.$aut.'" и value="'.$aut.'"


Выбрасывайте из опшенов и id, и onclick, а по событию onchange списка отправляйте его имя и выбранное значение:

$(function() {
    $('select[name="mark"]').change(function() {
         var data = this.name + '=' + this.value;
         $.ajax({
             .....
             data: data,
             .....
         })         
    })
});



На сервере:

if($id = (int)$_POST['mark']) {
    //выполнение
}

Последний раз редактировалось laimas, 25.03.2016 в 06:27.
Ответить с цитированием
  #3 (permalink)  
Старый 25.03.2016, 11:34
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 789

Всё равно пусто, достало.Всю ночь провозился. Консоль показывает запрос уходит по адресу.Чего ей надо? Какой то нехороший чел молиться.
Ответить с цитированием
  #4 (permalink)  
Старый 25.03.2016, 13:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Если клиент отдает именно те параметры, что ожидает сервер, то разве сложно проверить вообще получение - сразу первой строкой в файле:

exit(print_r($_POST, 1));
Ответить с цитированием
  #5 (permalink)  
Старый 25.03.2016, 23:23
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 789

Большое, спасибо,laimas. Именно этоexit(print_r($_POST, 1)); помогло увидеть, что на сервере не к тому параметру обращался.
Ответить с цитированием
  #6 (permalink)  
Старый 26.03.2016, 03:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Слава богу, странно только, что речь идет о сортировке, а возможности ее такие скудные.
Ответить с цитированием
  #7 (permalink)  
Старый 27.03.2016, 23:04
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 789

А у чего не скудные?
Ответить с цитированием
  #8 (permalink)  
Старый 27.03.2016, 23:27
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 789

Как можно здесь запомнить this.value? Пытался воткнуть localStorage, перестаёт работать.
$(function() {
    $('select[name="mark"]').change(function() {
         var data = this.name + '=' + this.value;
         $.ajax({
             .....
             data: data,
             .....
         })         
    })
});
Ответить с цитированием
  #9 (permalink)  
Старый 28.03.2016, 14:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сортировка по одному полю, это зачастую в табличных данных, где можно и без списка обойтись, щелкая по нужной колонке таблицы, плюс еще добавляют прямую и обратную сортировку.

Но если сортировка, это инструмент, значит должна быть возможность по нескольким полям, с заданием условий, а также порядком полей в сортировке, ибо сортировать по цене, затем по цвету, это будет одно представление, а сначала по цвету, а потом по цене, уже совсем иное.

Чего вы там с localStorage вытворяете, только господу богу и вам известно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить значение текст.поля с помощью аякс запроса espltd Элементы интерфейса 1 26.06.2015 13:02
Аякс запрос (передача id) - есть непонятка espltd Элементы интерфейса 4 26.06.2015 12:45
Несколько аякс запросов OlegOlegOleg1980 AJAX и COMET 6 15.06.2014 17:21
select в аякс окне ureech AJAX и COMET 0 08.05.2014 15:25
Цикличекая отравка данных АЯКС kent666 AJAX и COMET 4 19.02.2012 23:25