私は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のアクション
残りのコードを投稿できますか? – doutriforce
あなたの質問を正しく理解しているように、モーダル(_Projectの部分図)を送信した後、再度グリッドをバインドするためのajax呼び出しを行う必要があります。 –
$( "#CurrentOrder")。val(salesorder);それを行う必要があります。あなたがCurrentOrderと呼ばれる複数の項目を持っていない限り、1.。 2. CurrentOrderは実際にページに存在しません。あなたのモーダルはIFrame内にあります – KevDevMan