JQuery на живой (нажмите) отправить форму - PullRequest
1 голос
/ 25 мая 2011

что я хочу сделать, это у меня есть выпадающий список, который позволяет моим администраторам оценивать фотографии с оценкой G и X. как только они выберут эту опцию, я бы хотел, чтобы форма была отправлена.

Я думал, что это будет так же просто, как отправить идентификатор формы, но, похоже, нет.

это единственное, что пользователь должен сделать в форме.

HTML-форма выглядит следующим образом

<form id="photo1">
<input id="1" name="pictureid" hidden /> 
<select name="phototype">
 <option value="G">G Rated</option>
 <option value="X">X Rated</option>
</select>
</form>

Ответы [ 5 ]

2 голосов
/ 25 мая 2011

Если вы хотите отправить форму при запуске события onchange, это код:

$('#photo1 select').change(function () {
        $("#photo1").submit();
    });
0 голосов
/ 25 мая 2011

рабочая демо

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

$('select').live('change',function(){
    $(this).closest('form').submit();   
});
0 голосов
/ 25 мая 2011

Проблема с вашим кодом в настоящее время заключается в том, что ваш пользователь не может выбрать «G-рейтинг», потому что он выбран по умолчанию.Вы должны добавить пустую опцию.Возможно, вам также понадобится значение для вашего скрытого элемента:

<form id="photo1">
    <input id="1" name="pictureid" value="1" hidden /> 
    <select name="phototype" id="phototype">
        <option value=""></option>
        <option value="G">G Rated</option>
        <option value="X">X Rated</option>
    </select>
</form>

Затем вы можете использовать следующий jQuery:

$('#phototype').change(function() {
    if (this.value) {
        $(this).closest('form').submit();
    }
});

jsFiddle

0 голосов
/ 25 мая 2011

Этого должно быть достаточно

$('select[name="phototype"]').change(function(){
  this.form.submit();
});

Он находит относительную форму автоматически, поэтому может применяться также к нескольким формам.* из-за динамической загрузки форм, затем используйте

$('select[name="phototype"]').live('change',function(){
  this.form.submit();
});
0 голосов
/ 25 мая 2011
$('#photo1 select').change(function() {
    $('#photo1').submit();

    return true;
});
...