1

Javascript初心者の質問テキストからユーザー入力を取得し、その値を使用してコントローラーに送信し、さらに処理します。ページ初期化ではすべて問題ありません。[OK]ボタンをバインドして、ユーザーの値をページ初期化スクリプトに送信します(スクリプトのコピーを回避しようとしています)。これがコードです

@Html.ActionLink("OK", "Ajax", null, new { @class = "button", @id ="myDate" }) 

ページの初期化

$(document).ready(function dataTable() {
  $('#dataTable').dataTable({
            "bServerSide": true,
             "fnServerParams": function (aoData) {
                var date = $('input[name="myDate"]').val();
                aoData.push({ "name": "Date", "value": date });
   });
});

ユーザー入力とボタンをクリックすると、その入力を取得して上記のスクリプトに送信して処理する必要があります

 $('#myDate').click(function () { 
     var date = $('input[name="myDate"]').val();
     // ????
     // Should I change first function to receive parameter as argument 

});
4

1 に答える 1

0

1つの方法は、コードを因数分解して、datatableinitの外の日付を取得することです。

function getDate(){
    var date = $('input[name="myDate"]').val();
    return date;
}

次に、datatableinitで

 var date = getDate();

クリックイベントでも同じです

 $('#myDate').click(function () { 
     var date = getDate();
  });

あなたはこれで終わるはずです

    $(document).ready(function dataTable() {
        function getDate(){
        var date = $('input[name="myDate"]').val();
       return date;
      }

     $('#dataTable').dataTable({
        "bServerSide": true,
         "fnServerParams": function (aoData) {
            var date = getDate();
            aoData.push({ "name": "Date", "value": date });
               });
           });


              $('#myDate').click(function () { 
                 var date = getDate();
              });
        });
于 2012-09-15T19:07:01.880 に答える