【发布时间】:2019-03-03 14:30:21
【问题描述】:
我有一个简单的问题。我有一个带有 for 循环的表单。每个 for 循环都有一个文本框。我想要两个按钮,当我单击一个按钮时,所有文本框都会填充按钮中的值。例如,当我单击“添加 50 分钟”按钮时,我希望我的所有文本框都填充 50。如果我单击“添加 110 分钟”按钮也是如此(附屏幕截图)
这是我的表格
@using (Html.BeginForm("Index", "Minutes", FormMethod.Post, new { enctype = "multipart/form-date", onsubmit = "popup()" }))
{
@Html.ValidationSummary(true)
<fieldset>
<div>
<table id="tablereport" class="table table-striped table-bordered table-hover table-condensed">
<thead style="background-color:black; font-weight:bold; color:aliceblue">
<tr>
</thead>
<tr>
<td><b>@Html.Label("Date :")</b></td>
<td>@Html.TextBox("datepicker", DateTime.Now.ToString("MM/dd/yyyy"), new { required = "required" })</td>
</tr>
<tr>
<td><input type="button" id="btnSetText" value="Add 50 Minutes" class="btn btn-default" onclick="setText" /></td>
<td><input type="button" value="Add 110 Minutes" class="btn btn-default" /></td>
</tr>
</table>
</div>
@if (ViewBag.Message != null)
{
<div id="dialog-message" title="Alert !!">
<p>
<span class="ui-icon ui-icon-circle-check" style="float:left; margin:0 7px 50px 0;"></span>
@ViewBag.Message
</p>
</div>
}
<table id="tablereport" class="table table-striped table-bordered table-hover table-condensed">
<thead style="background-color:black; font-weight:bold; color:aliceblue">
<tr>
</thead>
<tr>
<th>Class ID</th>
<th>Course Title</th>
<th>Department</th>
<th>SID</th>
<th>Full Name</th>
<th>Minutes</th>
</tr>
@for (var i = 0; i < Model.Count; i++)
{
<tr>
<td>
@Html.DisplayFor(model => model[i].ClassID)
@Html.HiddenFor(model => model[i].ClassID)
</td>
<td>
@Html.DisplayFor(model => model[i].CourseTitle)
@Html.HiddenFor(model => model[i].CourseTitle)
</td>
<td>
@Html.DisplayFor(model => model[i].Department)
@Html.HiddenFor(model => model[i].Department)
</td>
<td>
@Html.DisplayFor(model => model[i].SID)
@Html.HiddenFor(model => model[i].SID)
</td>
<td>
@Html.DisplayFor(model => model[i].FullName)
@Html.HiddenFor(model => model[i].FullName)
</td>
<td>
@Html.TextBoxFor(model => model[i].Minutes, new { @Value = "0" })
@Html.ValidationMessageFor(model => model[i].Minutes)
</td>
</tr>
}
</table>
<table align="center">
<tr>
<td><input type="submit" value="Save" class="btn btn-default" onclick="popup()" /></td>
</tr>
</table>
</fieldset>
}
这是我的脚本
<script>
var date = new Date();
var maxdate = date.getDate();
//var currentDate = $(".selector").datepicker("getDate");
$(function () {
$("#datepicker").datepicker({
defaultDate: maxdate,
minDate: '-1M',
maxDate: '+0D'
});
});
**function setText(){
var setText = document.getElementById('setText');
setText.value = '50';
}**
我的脚本正在运行,但只会填充一个文本框。
谢谢!!
【问题讨论】:
-
setText id 用于哪个元素?文本框?
-
@Borka - 是的,我的文本框的 setTextID
-
附带说明,在使用
HtmlHelper方法时,切勿设置value属性。删除您的new { @Value = "0" }(如果Minutes是int的类型,那么无论如何它将是0,或者如果您想要不同的值,则在将模型传递给之前在GET 方法中设置Minutes的值视图)
标签: c# asp.net-mvc for-loop button