我有一个名为“分支代码”的文本框,该分支将分支与公司卡交易相关联。有时需要在多个分支之间拆分事务。我有一个在MVC中动态构建的表,其中包含需要填写的表格。在分支代码表单元格中,我添加了一个href,它将触发splitTransaction javascript函数,该函数将打开一个新窗口,允许构建一个值。需要将此新值写回到打开父窗口的超链接旁边的文本框中的父窗口。我的问题是,如何将文本框的名称发送到子窗口?我不确定如何获得它。
这是我的看法:
@model List<intranetMVC.Models.sp_CorpCardEmpGetTrans_Result>
@{
ViewBag.Title = "Index";
}
<h2>Corporate Card Transactions</h2>
@using (@Html.BeginForm("Index", "CorpCardTransactions", FormMethod.Post))
{
<table cellpadding="8">
<tr>
<th class="col-md-2">Transaction Details</th>
<th class="col-md-2">Payee</th>
<th>Amount</th>
<th class="col-md-2">Description</th>
<th class="col-md-1">GL/Account</th>
<th class="col-md-1">Branch Code</th>
<th class="col-md-1">Receipt</th>
</tr>
@for (int i = 0; i < Model.Count; i++)
{
<tr>
<td valign="top">
@Html.HiddenFor(m => m[i].ID)
@*@Html.DisplayFor(m => m[i].AccountID)
@Html.HiddenFor(m => m[i].AccountID)<br />
<em>@Html.DisplayFor(m => m[i].CardHolderName)</em>
@Html.HiddenFor(m => m[i].CardHolderName)<br />*@
Posted: @Html.DisplayFor(m => m[i].PostDate)
@Html.HiddenFor(m => m[i].PostDate)<br />
TranDate: @Html.DisplayFor(m => m[i].TranDate)
@Html.HiddenFor(m => m[i].TranDate)
</td>
<td valign="top">
@Html.DisplayFor(m => m[i].Payee)
@Html.HiddenFor(m => m[i].Payee)
</td>
<td valign="top">
@Html.DisplayFor(m => m[i].Amount)
@Html.HiddenFor(m => m[i].Amount)
</td>
<td valign="top">@Html.EditorFor(m => m[i].Description)</td>
<td valign="top">@Html.EditorFor(m => m[i].GL_Account)</td>
<td valign="top">
@Html.EditorFor(m => m[i].BranchCode)<br />
<a href="#" onclick="splitTransaction();">Split Transaction</a>
</td>
<td valign="top">@Html.EditorFor(m => m[i].Receipt)</td>
</tr>
}
</table>
<br />
<input type="submit" name="saveBtn" id="saveBtn" value="Save Progress" style="font-size:1.2em;font-weight:bold;width:200px;" /> <input type="submit" name="finishBtn" id="finishBtn" value="Finish and Close Statement" style="font-size:1.2em;font-weight:bold;width:250px;" /> @Html.ActionLink("Cancel", "Index", "Statements")
<p style="margin-top:1em;"><span style="color:green; font-size:14px;">@ViewBag.Message</span> <span style ="color:#b94a48; font-size:14px;font-weight:bold;">@ViewBag.Error</span></p>
<script type="text/javascript">
var popup;
function splitTransaction() {
popup = window.open("splittrans.htm", "Popup", "width=400,height=200");
popup.focus();
}
</script>
}
这是其中一个分支代码表单元格的页面源外观:
<td valign="top">
<input class="k-textbox" data-val="true" data-val-number="The field BranchCode must be a number." id="_0__BranchCode" name="[0].BranchCode" value="11" /><br />
<a href="#" onclick="splitTransaction();">Split Transaction</a>
</td>
当我单击“拆分交易”的链接时,如何将其旁边的文本框的值发送到打开子窗口的功能?还是在将新值发送回父窗口时如何引用此文本框?页面上可能有很多。好像他们是这样命名的:_0__BranchCode等。
最好处理click事件,而不要使用onclick
属性
<a href="#" class="split">Split Transaction</a>
和脚本
$('.split).click(function() {
// get the adjacent (sibling) textbox value
var value = $(this).siblings().first().val();
// do something with the value
});
或者您可以使用$(this).prev('.k-textbox').val()
或$(this).closest('td').children('input').val();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句