#jquery #jquery-validate #knockout.js
#jquery #jquery-validate #knockout.js
Вопрос:
Я взял оригинальный пример редактора корзины в http://knockoutjs.com/examples/cartEditor.html (jsFiddle — http://jsfiddle.net/rniemeyer/adNuR /) и добавил в него плагин проверки jquery. Я хочу проверить соответствие первому Category
списку выбора, чтобы сделать его обязательным. Итак, я внес следующие изменения:
- сделал кнопку отправки просто прямым
type=submit
вводом - окружил элементы управления в
<form>
- выполнить
$("form").validate()
в конце скрипта - добавлено
class='required'
в<select>
- добавлено
uniqueName: true
вdata-bind
Вот jsFiddle, который я сделал: http://jsfiddle.net/niner/JXJtj/3 /. Таким образом, проверка будет работать, если в category
списке ничего нет. Однако, если я делаю правильный выбор (например, Мотоциклы), когда я нажимаю «отправить», он по-прежнему говорит «Поле обязательно».. Даже если я правильно выбрал все остальные варианты, я все равно получаю ошибку проверки в category
элементе управления select. Может кто-нибудь, пожалуйста, взглянуть и сообщить мне, чего мне здесь не хватает?
Спасибо.
Комментарии:
1. Это было бы что-то вроде: jsfiddle.net/rniemeyer/72puP . Добавит более подробную информацию на форумах.
Ответ №1:
Ни один из ваших параметров не имеет значения, поэтому проверка всегда завершается неудачей, потому .val()
что всегда возвращает пустую строку. Вы можете присвоить своим параметрам значение, добавив optionsValue: "name"
к своему data-bind
выражению:
Комментарии:
1. Спасибо. Я понимаю, зачем
value
это нужно. В приведенном примере 1-й список выбора не будет каскадироваться вниз для заполнения 2-го списка выбора. Есть идеи, почему добавлениеoptionsValue: "name"
прерывает каскад?