Проблема с параметрами выбора списка в веб-приложениях ASP.NET MVC с JQuery - PullRequest
1 голос
/ 18 мая 2019

Один из моих веб-сайтов, над которыми я работаю, http://www.michaelgworkman.com, - это тот, который я создал, чтобы помочь мне получить работу, а также помочь моей карьере в целом.

In пытались добавить упрощенную проверку формы JQuery для формы контакта на этом веб-сайте, которая размещена на облачной платформе Microsoft Azure и у которой возникают проблемы. Ссылка на выпадающий список для ИНТЕРЕС в форме всегда возвращает ЛОЖНУЮ форму, когда опция не выбрана, и также возвращает ЛОЖЬ, когда я выбираю элемент в раскрывающемся списке. Вот как выглядит форма:

enter image description here

У меня есть это в моей форме в файле Razor view .cshtml для моей формы:

enter image description here

А это HTML, сгенерированный из формы:

enter image description here

Когда я отправляю форму, не выбирая интерес в раскрывающемся списке ИНТЕРЕС, он правильно возвращает ложное значение из JQuery в файле.

enter image description here

Когда я отправляю форму после выбора интереса, JQuery все еще говорит, что опция не была выбрана в раскрывающемся списке, так выглядит форма после выбора значения:

enter image description here

Вот код JQuery, который всегда возвращает false, даже после выбора значения в раскрывающемся списке ИНТЕРЕС.

enter image description here

Я хотел бы знать, как решить эту проблему, она до сих пор тупит меня около часа.

Ответы [ 2 ]

1 голос
/ 18 мая 2019

Хорошо, я нашел проблему здесь, я использовал неправильный идентификатор для выпадающего списка в форме, я пытался использовать $ ("# ContractCategory"), но это не правильный идентификатор, код Razorавтоматическое создание идентификатора как id = "ContractCategories_ID" на основе имени таблицы базы данных, используемой Entity Framework в этом веб-приложении ASP.NET MVC.Простое исправление, немного удивило, я работал над этим около часа, теперь форма работает правильно.

0 голосов
/ 18 мая 2019

Во-первых, у вас нет элемента с id="ContactCategory" в разметке, которую вы нам показываете, поэтому, если этот селектор ничего не находит, тогда false действительно может быть правильным результатом. Попробуйте:

alert($('#ContactCategories_ID option').is(':selected'));

Но даже тогда, поскольку этот селектор находит несколько элементов, семантика того, что вы делаете, может не иметь особого смысла и может возвращать неожиданные результаты. Вместо того, чтобы искать выбранную опцию, просто проверьте значение самого элемента формы. Номинально, чтобы получить значение, вы можете сделать что-то вроде:

let category = $('#ContactCategories_ID').val();

И проверьте это значение:

alert(category === '');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...