Javascript 如何在AJAX调用期间追加DDL

Javascript 如何在AJAX调用期间追加DDL,javascript,jquery,ajax,asp.net-mvc,Javascript,Jquery,Ajax,Asp.net Mvc,我试图在调用局部视图时更改下拉列表的值。目前AJAX调用检索到我需要的信息,但用户必须在保存之前更改部分视图中的位置值,基本上我希望在AJAX调用期间更改位置值,从而节省用户手动更改值的时间,我已经尝试过,但显然不起作用(请参阅下面的代码),你知道我哪里出了问题吗 _CameraInfo.cshtml(局部视图) 顺便说一下,DDL由模型数据填充 如果您需要任何进一步的信息,请告诉我:)有关ddl值的信息 ddl.val(值) 用于ddl文本 ddl.text(值) 使用.val()或.text

我试图在调用局部视图时更改下拉列表的值。目前AJAX调用检索到我需要的信息,但用户必须在保存之前更改部分视图中的位置值,基本上我希望在AJAX调用期间更改位置值,从而节省用户手动更改值的时间,我已经尝试过,但显然不起作用(请参阅下面的代码),你知道我哪里出了问题吗

_CameraInfo.cshtml(局部视图)

顺便说一下,DDL由模型数据填充


如果您需要任何进一步的信息,请告诉我:)

有关ddl值的信息

ddl.val(值)
用于ddl文本

ddl.text(值)

使用
.val()
.text()
而不是
.append()

不清楚您的要求。您是否希望在dropdownlist中为
LocationID
选择特定选项?是的,我希望在局部视图呈现给用户Whats
$(“#qr号”)
时选择特定选项?什么是
$(“#示例”)
?如果property
LocationID
的值与其中一个选项的值匹配,则将选择该选项。但是有这么多奇怪的代码,这很难理解。例如,它应该是
@Html.DropDownListFor(m=>m.HighPriority,new SelectList(new List(){“Yes”,“No”})
$('#qr number')是从扫描的qr码解析出来的作业ID,$('#Sample'))是从AJAX调用加载部分视图的位置,但是当您第一次运行此AJAX代码时,该部分视图是否存在?如果不存在,则
var ddl=$(“#Location”)
将是未定义的。即使它确实存在,您打算如何处理
var value=“cleanroom”
ddl.append(value)
?我已将其更改为try.val()和.text()值仍然不变:/
@model JobTracker.Models.Job


<h2>Edit and Confirm</h2>

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)

<fieldset>
    <legend>Job</legend>

    @Html.HiddenFor(model => model.JobID)

    @Html.HiddenFor(model => model.OrderID)

  <div class="editor-label">
        @Html.LabelFor(model => model.LocationID, "Location")
    </div>
    <div class="editor-field">
        @Html.DropDownList("LocationID", null, new {id ="Location" })
        @Html.ValidationMessageFor(model => model.LocationID)
    </div><br />

    <div class="editor-label">
        @Html.LabelFor(model => model.HighPriority)
    </div>
    <div class="editor-field">
        @Html.DropDownListFor(model => model.HighPriority, new SelectList(
    new[] 
    { 
        new { Value = "Yes", Text = "Yes" },
        new { Value = "No", Text = "No" },
    },
     "Value",
     "Text",
    Model
))

        @Html.ValidationMessageFor(model => model.HighPriority)
    </div><br />

    <div class="editor-label">
        @Html.LabelFor(model => model.Comments)
    </div>
    <div class="editor-field">
        @Html.TextAreaFor(model => model.Comments)
        @Html.ValidationMessageFor(model => model.Comments)
    </div><br />

      <div class="editor-label">
        @Html.LabelFor(model => model.Status)
    </div>
    <div class="editor-field">
           @Html.DropDownListFor(model => model.Status, new SelectList(
    new[] 
    { 
        new { Value = "In Progress", Text = "In Progress" },
        new { Value = "Completed", Text = "Completed" },
        new { Value = "Not Started", Text = "Not Started" },
        new { Value = "Stopped", Text = "Stopped" },
    },
     "Value",
     "Text",
    Model
))
        @Html.ValidationMessageFor(model => model.Status)
    </div><br />

    <p>
        <input type="submit" value="Save" />
    </p>
</fieldset>

}
     $(document).ready(function () {
    $('#qr-number').on('change', function () {
        var ddl = $('#Location');
        var value = "cleanroom";
        $.ajax({
            type: "Get",
            url: '/CameraInfo/Edit',
            data: { ID: $('#qr-number').val() },
            success: function (response) {
                ddl.append(value);
                $('#Sample').html(response);
            },
            error: function (response) {
                if (response.responseText != "") {
                    alert(response.responseText);
                    alert("Some thing wrong..");
                }
            }
        });
    });
    });
});