gpt4 book ai didi

javascript - jQuery - 更改和表单提交后下拉列表变为空

转载 作者:行者123 更新时间:2023-11-28 05:44:45 25 4
gpt4 key购买 nike

我有一个下拉菜单,在用户选择后,它会使用一些新数据重新加载页面。当在下拉列表中进行更改/选择和提交时,页面会重新加载,下拉列表将变为。我想提交后保留下拉数据并显示用户选择的内容。预先感谢您的帮助,我对此很陌生。

$( document ).ready(function() {
$("#ddlConsumer").change(function () {
var selected = $("#ddlConsumer :selected").text();
localStorage.setItem("selected", selected);
$("#paymentform").submit();

});
});

var selectedConsumer = localStorage.getItem("selected");
console.log(selectedConsumer);
$("#ddlConsumer").val(selectedConsumer);

HTML部分:

<td>
<div class="form-group">
<label class="col-sm-4 control-label">Consumer: <span>*</span> </label>
<div class="col-sm-6">
@Html.DropDownList("ConsumerID", (SelectList)ViewBag.Consumer, new { id = "ddlConsumer", @class = "form-control"})
</div>
</div>
</td>

最佳答案

您应该注意的一件事是 HTTP 协议(protocol)是无状态的。这意味着,一旦您发送了表单,页面将重新加载,并且值将丢失。要解决这个问题,你可以做两件事:

1 - 使用 $ajax 异步发送 for。喜欢:

$("#ddlConsumer").change(function () {
var selected = $("#ddlConsumer :selected").text();
localStorage.setItem("selected", selected);

$.post('yourUrlAction', $('#TesteForm').serialize(), function () {
//Here you can manipulate the code after a successfull call
});
});

2 - 获取后端的值并将其作为发布结果发送回来。这根据您用作后端的技术而有所不同,但在 .net MVC 中会是这样的:

[HttpPost]
public ActionResult Index(string field)
{
ViewBag.Value = field;
return View();
}

在 View 中:

<input name="field" id="field" type="text" value="@ViewBag.Value" />

希望有帮助。

关于javascript - jQuery - 更改和表单提交后下拉列表变为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38617224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com