Друзья, есть несколько форм на странице, и скрипт который отправляет AJAX методом данные каждой формы отдельно. Тут порядок. Отправляются формы по клику на кнопке SEND. По событию submit.
Вопрос. Как отправлять форму - INIT скрипта cделать, по событию CHANGE SELECT?
Вот одна из форм, кнопку SEND хочу убрать, поэтому такая задача.
<form id="ajax-form" class="ajax-form">
<select name="date">
<option value="0" selected="">All</option>
<option value="2018">2018</option>
<option value="2017">2017</option>
<option value="2017">2017</option>
</select>
<select name="event">
<option value="0" selected>All</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<a href="#" data-type="submit" class="theme-button">SEND</a>
</form>
Вот сам код, each обходит по всем формам, и через serialize отправляет данные дальше (код упрощен для понимания).
$.fn.forms = function (o) {
return this.each(function () {
var th = $(this),
_ = th.data('forms') || {
controls: 'a[data-type=reset],a[data-type=submit]',
submitFu: function () {
$.ajax({
data: _.form.serialize(),
})
},
controlsFu: function () {
$(_.controls, _.form).each(function () {
var th = $(this)
th
.bind('click', function () {
_.form.trigger(th.data('type'))
return false
})
})
},
init: function () {
_.form = _.me
_.controlsFu()
_.form
.bind('submit', function () {
_.submitFu()
})
}
}
_.me || _.init(_.me = th.data({
forms: _
}))
typeof o == 'object' && $.extend(_, o)
})
}
Пробую так делать, после этого кода
$('select').on('change', function() {
$.fn.forms();
$(this).submit().forms();
});
Но не работает так :( Можно конечно вызвать триггер клик по кнопке, а саму кнопку в display:none но я хочу убрать кнопку совсем. Как запустить INIT скрипта, по событию CHAGE SELECT? Вместо SUBMIT кнопки.
Подскажите ПОЖАЛУЙСТА!!!