2016-12-23 4 views
2

私はそれをチェックした後、月と年のみを表示する入力フィールドの値を変更するチェックボックスオプションがあります。その場合、チェックボックスは選択されません。ユーザが入力をクリックし、datepickerが日付(月/年)を選択するオプションを与えます。最初のオプションを使用すると、値が正しくポストされず、2番目のオプションが正しくポストされません。私が間違っていることは何ですか?私は(これまでの年)をチェックして、値を投稿する場合jqueryで値を設定し、データがサブミットされたときにViewModelへのバインディングを削除します。

enter image description here

日にチェックを外す年、代わりに入力に

enter image description here

をクリックすると、さてたstartDateエンドendDateにはnull値を持っています。続くよう

私のコントローラがある

[HttpPost, ValidateAntiForgeryToken] 
    public ActionResult Index(ManualRecViewModel vm) 

私のViewModelには、フィールドたstartDateがあり、終了日

public class ManualRecViewModel 
{ 
     public DateTime? startDate { get; set; } 
     public DateTime? endDate { get; set; } 
} 

と私の見解は、私はに値を設定するJSを持って

<div class="input-group"> 
     <div> 
      @Html.CheckBox("year-to-date", false) 
      @Html.Label("Year to Date") 
     </div> 

     <div class="dates-filters"> 
      <div> 
       @Html.Label("From:") 
      </div> 
      <div> 
       @Html.TextBoxFor(m => m.startDate, new { @readonly = "readonly" }) 
      </div> 
      <div> 
       @Html.Label("To:") 
      </div> 
      <div> 
       @Html.TextBoxFor(m => m.endDate, new { @readonly = "readonly" }) 
      </div> 
     </div> 
    </div> 

です入力は

var date = new Date(); 
    var year = date.getFullYear(); 
    var month = date.getMonth(); 
    $("#startDate").datepicker('setDate', new Date(year, 0, 1)); 
    $("#endDate").datepicker('setDate', new Date(year, month, 1)); 
+0

のために変更する値をフィールド起こさないので、私はあなたが検査しようとしたことがあり、前にこの問題を持っていたと$.trigger("change")方法を使用することが必要であることがわかりましたあなたのコントローラに渡された値は、JSを使っていますか?最終的な日付の値が無効で、モデルのバインディングの問題が発生する可能性があります。 – G0dsquad

+0

私はjsで値を掲示していません、入力は送信ボタン付きのフォームの中にあります – Heinrich

+0

あなたの 'CultureInfo'とは何ですか? – Shyju

答えて

0

セットと$.val()メソッドを使用すると、実際に入力フォームの送信

+0

実際に私の関数は、チェックボックス$( "#year-to-date")のchangeイベントです。入力のためにはどうすればいいですか? – Heinrich

+0

私が言っているのは、 '$ .setDate()'呼び出しの後に '$("#startDate、#endDate ")。trigger(" change ")'をコールして、変更 – Bwolfing

+0

他のオプションはあなたのC#サーバーコードにあり、ユーザーがYTDチェックボックスを選択しているかどうかを確認し、送信された日付を無視してサーバー上のYTDを決定した場合 – Bwolfing

関連する問題