2014-10-14 2 views
0

У меня есть форма, которую я отправляю вручную (с использованием JS), и это делает прямую прямую, поскольку она добавляет ее со всем идентификатором элемента управления (погода у них есть значение или нет). Я где-то читал, что могу избежать этого, отключив элементы управления, которые не имеют значений перед отправкой формы.Как найти все выпадающие списки, которые не имеют никакого значения?

Таким образом, в моей форме у меня есть текстовое поле, флажок и выберите (выпадающие), я пытаюсь написать встроенный запрос, который получит все выбрать, какие не имеют опции/значения не выбраны из списка:

Это $('form').find('select option:selected[value!=""]') несколько работает, но это $('form').find('select option:selected[value=""]') совсем нет.

Любая помощь будет оценена по достоинству.

+0

Является общей проблемой, которую вы не хотите, чтобы форма была отправлена ​​с использованием GET (в результате чего все вары находились в строке запроса)? Вы можете избежать этого, используя метод POST в своем javascript. – Twicetimes

+0

Быстрый поиск показывает это: http://stackoverflow.com/questions/10651349/how-to-select-empty-inputs-value-using-jquery - Теперь нам просто нужно повернуть его так: 'jQuery (" select "). filter (function() {return this.value;})' – somethinghere

+0

@Twicetimes: его страница фильтров записей и функциональность сайта требуют, чтобы пользователь мог делиться отфильтрованными результатами, поэтому использовался GET. – Vishal

ответ

1

Это легко сделать при отправке формы, проверив каждый элемент в форме. Убедитесь, что вы предоставили пользователям возможность повторно включить отключенные элементы формы.

Рабочий код будет:

$("#testForm").on("submit", function() { 
    $(this).find('select option:selected[value=""]').parent().attr("disabled", "disabled"); 
    alert("ok"); // for debug purposes 
    return false; // this stops the form from actually being submitted 
}); 

Вот рабочая скрипку, которая демонстрирует виджет отключение:

http://jsfiddle.net/sw6v928m/3/

Edit: Обновлено на самом деле выбрать инвалид элементов

Редактировать 2: Обновления ted для компактного кодирования кода после запроса от OP

+0

Пример выглядит хорошо, можно ли это сделать и на одной линии? нет наверное ? – Vishal

+0

Да, вы можете. Я обновил свой код соответственно –

+0

Ничего себе это красиво, поэтому мне не хватало .parent() yea ?? – Vishal

Смежные вопросы