javascript — диалоговое окно jQuery перед публикацией ajax

У меня есть форма и функция jQuery, которая срабатывает, если пользователь меняет поле выбора HTML. Функция собирает всю необходимую информацию и публикует в php-скрипте сообщение ajax.
Я хочу расширить эту функцию новой функцией: если выбранное значение равно предопределенному значению, я хочу отобразить диалог с двумя кнопками. Пользователь должен нажать одну из этих кнопок, и если он это сделает, новая информация будет прикреплена к сообщению.
Простой пример:
Выбор имеет 3 варианта:
— Лимон
— Банан
— Яблоко

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

Не могли бы вы помочь мне, ребята, как мне это сделать?

У меня есть только первая часть:

$('select.myList').change( function()
{
var e = $(this)
var val = $(this).val();
var id = $(this).attr('data-id')

var url = 'index.php?process'
$.ajax({
type: "POST",
url: url,
data: { id: id, val: val },
success: function(data){
var o = $.parseJSON(data);
if( o.error )
{
console.log('error:' + o.message);
} else
{
console.log('success:' + o.message);
}

return false;
}
})

return false
})

0

Решение

Во-первых, я бы сказал, что вы должны быть очень осторожны с именами переменных. Вы никогда не должны использовать e в качестве переменной, если этого можно избежать. Я бы тоже поменял id а также val,

В любом случае вы должны иметь возможность использовать beforeSend Недвижимость в Аяксе: http://api.jquery.com/jquery.ajax/, при условии, что «яблоко» будет val элемента:

$.ajax({
type: "POST",
url: url,
data: { id: id, val: val },
beforeSend: function() {
if (val === 'Apple') {
//do stuff
}
},
// rest of ajax call
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector