Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.05.2018, 10:50
Интересующийся
Отправить личное сообщение для Syfer43 Посмотреть профиль Найти все сообщения от Syfer43
 
Регистрация: 20.01.2017
Сообщений: 17

Сообщение от laimas Посмотреть сообщение
$(document).on('click', '.select-button.enabled)', (function () {


И не надо проверять if ($(this).hasClass('enabled')).

В остальном либо с логикой у вас не так, либо есть ошибка. Ибо если отправляется пустое значение, то как же тогда if (value != '')? Кстати, просто if(value) ...
ок, принял во внимание ваши замечания, и даже решил этот аякс повесить на выбор значения селекта(т.е. отработка скрипта при выборе элемента)

сделал так:
$(document).on('change', '#cons-list', function () {
        var value = $('#cons-list').val();
        if (value ) {
            $("#page-preloader").fadeIn(800);
            $(".dialog").dialog('close');
            jQuery.ajax({
                type: 'POST',
                url: URL,
                data: {
                    'action': 'validateAndShow',
                    'value': '' + value
                },
                success: function (data) {
                    $('.result').html(data);
                    $("#page-preloader").fadeOut(800);
                }
            })
        }
    })


вывожу все на пхп:
print_r($_POST);


первый результат:
Array ( [action] => validateAndShow [value] => value)
второй:
Array ( [action] => validateAndShow [value] => )
Ответить с цитированием
  #12 (permalink)  
Старый 29.05.2018, 11:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

Еще можно сказать, что 'value': '' + value - никчемное.
Ответить с цитированием
  #13 (permalink)  
Старый 29.05.2018, 12:35
Интересующийся
Отправить личное сообщение для Syfer43 Посмотреть профиль Найти все сообщения от Syfer43
 
Регистрация: 20.01.2017
Сообщений: 17

Сообщение от laimas Посмотреть сообщение
Я не знаю чего вы там делаете, поэтому не будут гадать чего у вас не так, ибо полного представления нет чего и как. Могу только заметить следующее - если получаемый список после первичного запроса заменяет предыдущий, то делегирование обработки его события по его ID, это нормально. Но если получаемый список добавляется в документ как новый список, но это уже ошибка.

Еще можно сказать, что 'value': '' + value - никчемное.
[OFFTOP]
"чего" я "там" делаю - описано в теме. Не понятно что-то конкретное? уточните/спросите, постараюсь донести/объяснить/показать.

Про никчемное - не понял. если имеете ввиду то, что '' + <- вот это лишнее, ну что ж, давайте уберу, если глаза Вам режет. Давайте оставаться людьми.
[/OFFTOP]

по теме:

пресловутый проблемный "список" - он же селект, это результат вывода массива из бд со своими ид в атрибутах value. список этот выводится внутри тела тега див с ид="dialog-content", то есть, контент окна-диалога($('.dialog')). и в первый и во второй раз - это единственный тег селект с ид = "cons-list", но, в первый и во второй раз - значения там разные.
Ответить с цитированием
  #14 (permalink)  
Старый 29.05.2018, 13:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Syfer43,
все что рассказано еще не дает представления о том, что творится на странице.

Не понятно почему '' + значение списка, это никчемное занятие? А зачем к значению списка добавлять пустую строку перед отправкой его на сервер?

$('body').on('change', '#cons-list', function () { - делегировать нужно ближайшему родителю
var value = $('#cons-list').val(); - это не нужно, если обработка события списка
if (this.value) { - отправление будет только в том случае, если выбрана опция с непустым значением - value="" - только так, а не так value=" " или value="0", ибо в последнем случае тогда if (+this.value)

и отправляемые данные

data: {
'action': 'validateAndShow',
'value': this.value
},


То есть у вас вообще не должно быть отправки, если пустое значение, а у вас то есть отправление! Ну так добавьте в код проверку и узнаете причину:

$('body').on('change', '#cons-list', function () {

console.log(this.value)
Ответить с цитированием
  #15 (permalink)  
Старый 29.05.2018, 14:22
Интересующийся
Отправить личное сообщение для Syfer43 Посмотреть профиль Найти все сообщения от Syfer43
 
Регистрация: 20.01.2017
Сообщений: 17

Вангую, что не зря вы ругались на код, который был фекальным. переписал скрипт, разделил, использовал все наставления - работает. Спасибо!
Ответить с цитированием
  #16 (permalink)  
Старый 29.05.2018, 16:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

<select>
    <option selected disabled>Select...</option>
    <option value="1">AAAAA</option>
    <option value="2">BBBBB</option>
</select>


Попробуйте выбрать первую опцию. То есть событие списка будет наступать только при выборе опции со значением, а значит нет необходимости и проверять - if (this.value)
Ответить с цитированием
  #17 (permalink)  
Старый 30.05.2018, 07:43
Интересующийся
Отправить личное сообщение для Syfer43 Посмотреть профиль Найти все сообщения от Syfer43
 
Регистрация: 20.01.2017
Сообщений: 17

да, спасибо! Вы очень помогли!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение функции после выдачи результата AJAX запроса polearmik AJAX и COMET 2 22.04.2017 14:48
После ajax возврата поймать изменение размера div Bezlepkin Общие вопросы Javascript 1 16.07.2015 17:20
outerHeight(true) после Ajax запроса Infinity178 jQuery 6 10.07.2015 14:32
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
Не работает JS после подгрузки div через ajax BoB AJAX и COMET 3 09.12.2011 03:03