我有一个下拉列表,我可以动态禁用之前选择的值。
但是现在我希望即使在表单提交后该值仍然处于禁用状态。 (用户在下拉列表中选择的每个值应在表单提交时及之后保持禁用状态)即使其他用户访问该页面时,该值仍应保持禁用状态(灰色显示)
var $select = $("select");
$select.on("change", function() {
var selected = [];
$.each($select, function(index, select) {
if (select.value !== "") { selected.push(select.value); }
});
$("option").prop("disabled", false);
for (var index in selected) { $('option[value="'+selected[index]+'"]').prop("disabled", true); }

<select class="selectDate" name="category1" id="dateSlot" onchange="showData()" required="">
<option value="" disabled selected>---Select Date---</option>
<option value="Tuesday, 6 February 2018">Tuesday, 6 February 2018</option>
<option value="Wednesday, 7 February 2018">Tuesday, 7 February 2018</option>
<option value="Thursday, 8 February 2018">Tuesday, 8 February 2018</option>
</select>
&#13;
答案 0 :(得分:0)
JavaScript在当前页面的上下文中运行,当浏览器在表单提交后从一个页面导航到另一个页面时,它与HTML和CSS一起从内存中完全删除。这同样适用于访问该页面的其他用户。
在表单提交之前,您已将状态保留到某个存储(例如数据库或浏览器中的本地存储),并在呈现页面之前将其读取以相应地更改行为。