【发布时间】:2023-03-19 05:14:01
【问题描述】:
我正在使用带有 json 数据的 jquery ajax 填充一个选择选项,并且它工作正常,但是当我单击提交按钮时,我的选项值变为空。这是我的代码:
查看:
@using (Html.BeginForm("Index", "Teste", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="row">
<div class="col-md-8">
Data Agendamento
</div>
<div class="col-md-8">
@Html.TextBox("DataAgendamento", null, new { @onchange = "horarios();" })
</div>
<div class="col-md-8">
Hora Agendamento
</div>
<div class="col-md-8">
<select id="HoraAgendamento" name="HoraAgendamento"></select>
</div>
<input type="submit" value="Enviar" class="btn btn-default" />
</div>
}
<script>
function horarios() {
var Dia = $('#DataAgendamento').val();
$.ajax({
url: '/Teste/Popula',
type: "GET",
dataType: "JSON",
data: { dia: Dia },
success: function (horarios) {
$("#HoraAgendamento").html("");
$.each(horarios, function (i, hora) {
console.log(i);
console.log(hora.Hora);
$("#HoraAgendamento").append(
$('<option></option>').val(hora.Id).text(hora.Hora));
});
}
});
}
</script>
我的控制器(直到问题发生)
[HttpPost]
public ActionResult Index(FormCollection form)
{
string dt_data;
dt_data = form["DataAgendamento"] + " " + form["HoraAgendamento"];
问题是我将 form["HoraAgenmento"] 设置为 null。
【问题讨论】:
-
在开发者工具中使用检查元素进行检查时,您是否得到了填充选项
-
你正在使用 var Dia = $('#DataAgenmento').val();获得价值。但是您没有分配文本框的 id。@Html.TextBox("name", new { id = "name"}, new { @class= "text-field" })
-
@KateFernando id 和 name 将由 mvc 框架分配,这里不关心
-
@Krishna,谢谢...没错。
-
@Rodney,选择列表中有任何值吗?
标签: javascript c# ajax asp.net-mvc