将下拉值插入到多个文本框中

时间:2018-10-09 20:42:05

标签: javascript c# jquery razor

我在表单中有一个表格

<table id="tablereport2" 
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 id="texbox">
                    <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 { 
         placeholder = "0", id = "minutes" })
                        @Html.ValidationMessageFor(model => 
         model[i].Minutes)
                    </td>
                </tr>
            }
        </table>
        <table align="center">
            <tr>
                <td>
                    <input type="hidden" value="Save" id="btn-submit" 
                 class="btn btn-default" />
                    <span>
                        @Html.ActionLink("Save", "Class", "Class",
                      new { @class = "btn btn-success btn-md insertBtn", 
                 StartTime = DateTime.Now })
                    </span>
                </td>
            </tr>
        </table>
    </fieldset>

看起来像这样

enter image description here

我想使用右上角的下拉菜单填充文本框。

礼拜现在可以使用,但只填充第一个不会循环。

<td align="right">
<b>@Html.Label("Select Minutes :")</b>
    <select id="dropdown">
        <option value="50">50</option>
        <option value="100">100</option>
    </select>
</td>

我的Java脚本

<script>
$(function () {
    $('#dropdown').change(function () {
        var minutes = $(this).val();
        $('#minutes').val(minutes);
    });
});

任何想法的人,我都想以最简单的方式做到这一点。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您为元素使用了相同的minute ID,因此由于ID元素必须是唯一的,因此它将在第一个匹配项之后停止。而是添加一个minutes类,您会被设置。

$(function() {
  $('#dropdown').change(function() {
    var minutes = $(this).val();
    if (minutes != "")
      $('.minutes').val(minutes);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="minutes" /><br/>
<input class="minutes" /><br/>
<input class="minutes" /><br/>
<input class="minutes" /><br/>

<select id="dropdown">
  <option value="">Select</option>
  <option value="50">50</option>
  <option value="100">100</option>
</select>

答案 1 :(得分:0)

正如评论中已经指出的那样,ID应该是唯一的。因此,您需要使用类而不是ID。

更改

id = "minutes”

收件人

class = "minutes”

$('#minutes').val(minutes);

收件人

$('.minutes').val(minutes);

就这样!