在mvc中用选择下拉列表填充文本框

本文关键字:填充 文本 下拉列表 选择 mvc | 更新日期: 2023-09-27 17:51:12

我想填充从数据库中获取数据的文本框。当我使用下拉列表选择任何值时,我需要从下拉列表中获取ID,并调用填充@Html.EditorFor(model => model.taskName)的函数。这一页不能翻动。这怎么可能?

<div class="form-group">
      @Html.LabelFor(model => model.jobID, "jobID", new { @class = "control-label col-md-2" })
       <div class="col-md-10">
      @Html.DropDownList("jobID", String.Empty)
      @Html.ValidationMessageFor(model => model.jobID)
</div>
</div>
     <div> @Html.Partial("../Location/taskname") </div>
</div>

taskname.cshtml

@Html.AntiForgeryToken()
    <div class="form-horizontal">
        @Html.ValidationSummary(true)
        <div class="form-group">
            @Html.LabelFor(model => model.taskName, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.taskName)
                @Html.ValidationMessageFor(model => model.taskName)
            </div>
        </div>
    </div>

在mvc中用选择下拉列表填充文本框

让你的下拉菜单像这样:

@Html.DropDownList("jobID", null, new {@id="job"})

和taskname文本框:

@Html.EditorFor(model => model.taskName, new {@id="taskname"})

这样做,为下拉列表索引更改事件编写jquery事件,并发送ajax调用以根据从下拉列表中选择的作业Id获取任务名称:

$('select#job').change(function(){
var JobId =$(this).val();

// Send Ajax call and get Task name
var Url = 'http://example.com/Controller/Action/?jobid='+JobId ;
$.ajax({
         url:    Url ,
         success: function(result) {
                     $('input#taskname').val(result); 
                  },
         error: function(error) {
                     alert(errorss); 
                  }
    });     

});