2011-10-28 10 views
0

私はオリジナルのカートエディタの例をhttp://knockoutjs.com/examples/cartEditor.html(jsFiddle - http://jsfiddle.net/rniemeyer/adNuR/)にし、jqueryバリデーションプラグインを追加しました。私は最初のCategory選択リストに対して検証して、必要なものにしたいと考えています。だから私は、次の変更を加えた:knockoutjs jquery検証プラグインの問題を持つカートエディタの例

  • 送信ボタンを作っちょうどまっすぐtype=submit入力
  • <form>
  • のコントロールを囲まれたスクリプト
  • の終わりに$("form").validate()を実行<select>
  • class='required'を追加しました
  • uniqueName: truedata-bind

私が作ったjsFiddleは、http://jsfiddle.net/niner/JXJtj/3/です。したがって、categoryリストに何も含まれていなければ、検証は機能します。ただし、有効な選択肢(モーターサイクル)を選択すると、「送信」を押すと、「フィールドは必須です」と表示されます。他のすべての選択肢を正しく選択しても、category選択コントロールで検証エラーが発生します。誰かが一目見て私がここで何が欠けているのか教えてもらえますか?

ありがとうございました。

+0

:あなたのdata-bind式にoptionsValue: "name"を追加することによって、あなたのオプション値を与えることができます。フォーラムの詳細を追加します。 –

答えて

0

オプションのいずれも値を持たないため、.val()は常に空の文字列を返すため、検証は常に失敗します。 http://jsfiddle.net/rniemeyer/72puP/:それはのようなものになるだろう

http://jsfiddle.net/gilly3/JXJtj/4/

+0

ありがとうございます。なぜ私は「価値」が必要なのか分かります。今の例では、1番目の選択リストは2番目の選択リストを埋めるためにカスケードされません。 'optionsValue:" name "'を追加すると、カスケードが分割される理由は何ですか? – Niner