2013-03-13 3 views
0

Привет я получить форму без кнопки отправить, которые очень хорошо работают без Dropkick и отправить методом POST переменной называется «fonction»:Jquery: Dropkick плагин - Форма представить OnChange

<form name="recherche_cat" method="post" class="ass_select"> 
<select name="fonction" onchange='submit()' tabindex="3" size="1"> 
    <option value="default">default</option> 
    <option value="1">mot1</option> 
    <option value="2">mot2</option> 
</select> 
</form> 

Но когда я использовал Dropkick , он больше не работает. Я стараюсь это:

$('.ass_select').dropkick({ 
    change: function (value, label) { 
    $(this).closest('form').submit(); 
    } 
}); 

перезагрузки страницы, но не выкладываю значение.

Спасибо за помощь.

+1

Ваш код, кажется, работает нормально http://jsfiddle.net/ult_combo/kx2VT/1/, что JQuery версии вы используете? –

ответ

0

Ваш onchange='submit()' больше не срабатывает, потому что jQuery не гарантирует увольнение обработчиков, прикрепленных без jQuery.

Вместо этого, предполагая, что у вас есть, что submit функция, объявленная, использование:

$('.ass_select').dropkick({ 
    change: submit 
}); 

Fiddle

Заметьте, что внутри обработчика, this указывает на form вместо select элемента в настоящее время.

+0

Привет, спасибо за ответ, но я не знаю, что объявить внутри функции отправки, чтобы получить тот же эффект, что и мой onchange = 'submit(). Как сказать в jquery, что я хочу перезагрузить страницу с моей стоимостью var? – casp

+0

Можете ли вы отредактировать вопрос, чтобы добавить код функции 'submit'? Я не уверен, что вы имеете в виду, «перезагрузите страницу с помощью значения var». –

+0

Ну, проблема в том, что я не получаю никакой функции submit :) Я бы хотел, чтобы кто-то сделал то же самое, что и форма, когда вы используете кнопку отправки с методом POST. – casp

0

Я нашел свою проблему. Я не должен добавлять класс dropkick (на мой пример class = "ass_select") в форме, но на выбор. Вот и все.

0

Вы можете сделать это:

$('.ass_select').dropkick({ 
    change: function (value, label) { 
     $(this.form).submit();//changed here 
    } 
}); 
Смежные вопросы