Отправить форму для выбора option.onClick - PullRequest
1 голос
/ 26 мая 2011

Как мне отправить форму, когда пользователь щелкает опцию, используя jQuery?Я нашел один подобный вопрос, используя ввод текста datepicker, но я не очень знаком с jQuery, поэтому я не могу преобразовать его в работу для выбранного элемента.

Ответы [ 6 ]

8 голосов
/ 26 мая 2011

Вкл. click из <option>:

$('option').click(function ()
{
    $(this).closest('form').submit();
});

Вкл. change из <select> (это, вероятно, тот, который вы хотите):

$('select').change(function ()
{
    $(this).closest('form').submit();
});

Как прокомментировал @Guffa:

Событие click для опций работает не во всех браузерах.Safari, например, не запускает его.

... так что вам определенно нужен второй.

3 голосов
/ 26 мая 2011

Событие click для опций работает не во всех браузерах. Используйте событие change элемента select.

Пример:

$('select').change(function(){
  this.form.submit();
});

Обратите внимание, что событие submit формы не запускается при вызове метода submit для отправки формы.

1 голос
/ 26 апреля 2012

Небольшая коррекция этих ответов:

$(document).ready(function() {
    $('#some_link').click(function() {
        $('#form_id').submit();
    });
});
0 голосов
/ 20 июля 2011

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

jquery: опция плюс класс и нажмите

0 голосов
/ 26 мая 2011
$('select').change(function() {
  $('form').submit();
});
0 голосов
/ 26 мая 2011
$('#option').click(function () {
    // form validation and such then

    $('form').submit();
})

Это самый простой способ думать о

UPDATE:

для конкретной формы, вы можете использовать ее имя или идентификатор, это действительно зависит от того, как ваш HTML выглядит как

$('form[name="formnamehere"]').submit();
...