我在jQuery中有一个名为storedDealer
的变量,当选择下拉项时,我希望用选项文本填充该变量:
var storedDealer = '';
$(document).ready(function () {
let dealerId = @Model.DealerID;
if (0 < dealerId.length) {
$("#DealerID option[value='dealerId'']").attr('selected', 'selected');
$('#dealershipName').val(storedDealer);
}
$('#DealerID').on("change", function () {
storedDealer = this.value;
});
});
function getDealers(el) {
$.get("@Url.Action("GetDealers", "Admin")?region=" + $(el).val(), function (res) {
var markup = "";
for (var i = 0; i < res.length; i++) {
markup += '<option value='+res[i].Value+'>'+res[i].Text+"</option>"
}
$('#DealerID').prop('disabled', false);
$("#DealerID").html(markup).show();
});
}
我的HTML有一些C# Razor代码,这是定义DealerID
的唯一位置。我添加了<var id="dealershipName">
项:
<tr>
<td align="right">Dealership:</td>
<td>@Html.DropDownListFor(m => m.DealerID, new List<SelectListItem>())</td>
<td><var id="dealershipName" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit" /></td>
<td></td>
</tr>
我不会想到Razor变量会被jQuery看到,但它们似乎可以工作。
但是当提交搜索时,页面会刷新,现在下拉列表被重置,<var>
字段为空。<var>
字段是我添加的,我正在努力工作。
如何在表单重新加载后保留该值?
1条答案
按热度按时间laawzig21#
我认为你可以尝试使用
Session
,这里有一个. net6的演示.每次选择的值改变时,改变storedDealer
和会话数据.当你刷新页面时,如果会话数据不为空,storedDealer
将被设置为会话数据:Program.cs:
处理措施:
测试视图: