2017-05-26 7 views
0

私はIndexという名前のビューと、2つの部分ビュー_Grid_Projectを持っています。 partialview _Projectは、ユーザーがボタンをクリックしてデータを追加した後に表示されるポップアップです。ユーザーを追加するように考えられます。 今度は、ユーザーが_Projectポップアップ内のボタンをクリックすると、部分ビュー_Gridの中にあるテキストボックスの値を変更しようとしています。 _Gridのpartialview内部ASP MVC:異なるビューで実装されたAjaxの変更テキストボックスの値

:JavaScriptで

<input id="CurrentOrder" type="hidden" value=""/> 

ポップアップ(partialview _project)内のボタンが押されると:

function AddTimeReg() { 
//code 
if (date && shopdoc && ((convertedStartTime && convertedEndTime) || hours)) { 
     $.ajax({ 
// more code 
// change the value of textbox 
$("#Grid #CurrentOrder").val(salesorder); 

入力種別がINグリッドpartialview内側にありますdivという名前のグリッド。

私は正確にここで間違っていますか? テキストボックスにsalesorderの値を設定します。

編集:

<input id="CurrentOrder" type="hidden" value=""/> 
: JavaScriptファイル:

function AddTimeReg() { 

    var salesorder = $("#SalesOrder").val(); 
    var shopdoc = $("#Shopdoc").val().trim(); 
    var starttime = $("#StartTime").val().trim() 
    var convertedStartTime = starttime.replace(/\./g, ':') 
    var endtime = $("#EndTime").val().trim() 
    var convertedEndTime = endtime.split('.').join(':'); 

    var hours = Math.round(Number($("#Hours").val().trim().replace(DecimalSeparator(), '.')) * 100/100); 
    var date = $("#Date").val().trim(); 
    var info = $("#Info").val().trim(); 
    var timeRegLineNr = 0; 
    var isEditing = $("#Project #Date").prop('disabled'); 
    if (isEditing) { 
     timeRegLineNr = $($(".highlight")[0]).children(".td-TimeRegLineNr").text(); 
    } 

    if (date && shopdoc && ((convertedStartTime && convertedEndTime) || hours)) { 
     $.ajax({ 
      type: 'post', 
      url: appPath + '/TimeReg/ShopDoc', 
      data: { 
       regDate: date, salesOrder: salesorder, shopDoc: shopdoc, startTime: convertedStartTime, endTime: convertedEndTime, 
       hours: hours, info: info, timeRegLineNr: timeRegLineNr 
      }, 
      success: function (response) { 
       if (response.success) { 
        var mySessionVariable = shopdoc 
        ClosePopup(); 
        ShowGrid(); 
        $("#Grid #CurrentOrder").val(salesorder); 
        var timerId = setTimeout(function() { 
         $("#dialog #TimerId").val(""); 
         $("#dialog").modal("hide"); 
        }, timeToClose); 

        $("#dialog #TimerId").val(timerId); 
       } 
       $("#dialog .modal-body").html(response.message); 
       $("#dialog #dialog-title").html(response.title); 
       $("#dialog").modal("show"); 


      }, 
      error: function (response) { 
       $("#dialog .modal-body").html(msgErrorDuringRequest); 
       $("#dialog #dialog-title").html(errorTitle); 
       $("#dialog").modal("show"); 

      } 
     }); 

    } 
} 

内部インデックス:テキストボックスが

<div id="Main" style="@mainDisplay"> 
    <div style="margin:10px;"> 
     <input id="regDate" type="@regDateType" value="@DateTime.Now.ToShortDateString()" /> 
     <input type="button" class="btn btn-default" value="@Resources.Ok" onclick="ShowGrid()"> 
    </div> 
    <div id="Grid"> 
     @if ((bool)ViewBag.ShowGrid) 
     { 
      Html.RenderAction("Grid", new { login = (string)ViewBag.Login, regDate = DateTime.Now }); 
     } 

_Gridのpartialviewインサイドあり、全体のコードたい方のために

プロジェクトの部分ビューには、 JavaScriptのアクション

+1

残りのコードを投稿できますか? – doutriforce

+1

あなたの質問を正しく理解しているように、モーダル(_Projectの部分図)を送信した後、再度グリッドをバインドするためのajax呼び出しを行う必要があります。 –

+0

$( "#CurrentOrder")。val(salesorder);それを行う必要があります。あなたがCurrentOrderと呼ばれる複数の項目を持っていない限り、1.。 2. CurrentOrderは実際にページに存在しません。あなたのモーダルはIFrame内にあります – KevDevMan

答えて

0

あなたは2つの部分を持っています。最初に部分的にコールし、他の部分をコールすると、あなたはajaxコールを使用するかもしれません。

関連する問題