我正在使用jQuery 1.4.3并且有一个新手问题。
在下面的.submit函数中,我在单击提交按钮后获取facilityCodes下拉列表中所选选项的值,然后在提交功能期间,再次在下拉列表中选择facilityCode,然后禁用列表,用户无法更改它。但是,情况是当我在单击提交按钮后重新加载页面时,下拉列表默认为第一个选项并且列表已启用。我显然不明白.submit如何工作,所以我选择了我在我的代码中定义的选项,然后在页面重新加载后禁用列表。我的问题是我做错了什么?我使用了错误的事件吗?
非常感谢任何帮助/方向。谢谢。
这是我的代码:
$(function() {
$("#ARTransferForm").submit(function() {
var msgsCount = 0;
var facilityCodeValue = $("#ARTransferForm\\:facilityCodes option:selected").val();
alert("facilityCodeValue = " + facilityCodeValue);
if (facilityCodeValue == 0) {
alert("To Facility Code must be selected");
msgsCount++;
} else {
$('select[id$=facilityCodes]').val(facilityCodeValue);
$("#ARTransferForm\\:facilityCodes").attr("disabled", "disabled");
}
});
});
答案 0 :(得分:0)
刷新页面将删除在页面刷新之前使用JavaScript完成的所有操作。如果您希望通过页面重新加载来保留状态,则需要使用服务器端代码或设置cookie。
答案 1 :(得分:0)
当表单即将发布时,将在当前页面上调用submit事件。您需要传递在表单加载上检查的值(隐藏字段),您可以检查该值以确定是否应禁用该列表。
更新
在页面加载时,您需要检查这是否是在帖子中设置了隐藏字段id =“disable_select”的重新发布。如果是,那么您将禁用该表单。
$(function(){
if ($('#disable_select').val() == '1') {
$("#ARTransferForm\\:facilityCodes").attr("disabled", "disabled");
}
});