Javascript 如何在AJAX调用期间追加DDL
我试图在调用局部视图时更改下拉列表的值。目前AJAX调用检索到我需要的信息,但用户必须在保存之前更改部分视图中的位置值,基本上我希望在AJAX调用期间更改位置值,从而节省用户手动更改值的时间,我已经尝试过,但显然不起作用(请参阅下面的代码),你知道我哪里出了问题吗 _CameraInfo.cshtml(局部视图) 顺便说一下,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
如果您需要任何进一步的信息,请告诉我:)
有关ddl值的信息
ddl.val(值)代码>
用于ddl文本
ddl.text(值)代码>
使用.val()
或.text()
而不是.append()
不清楚您的要求。您是否希望在dropdownlist中为LocationID
选择特定选项?是的,我希望在局部视图呈现给用户Whats$(“#qr号”)
时选择特定选项?什么是$(“#示例”)
?如果propertyLocationID
的值与其中一个选项的值匹配,则将选择该选项。但是有这么多奇怪的代码,这很难理解。例如,它应该是@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..");
}
}
});
});
});
});