我无法弄清楚如何禁用选择标签但保持所选值可见。我找到的唯一解决方案是删除不应显示的项目。用途是当用户创建一个新项目并选择一个选项时,查看创建项目的人应该无法更改它。事实证明,将文本框变灰非常简单,但我不知道如何继续使用选择标签。
这就是我现在的做法,但不完全是因为这段代码遵循一个进程,并根据他们所处的阶段为编辑提供不同的选项。但是,其他选择字段不会在整个过程中改变,他们只需要保持什么他们在创造。
//On item edit, set status to In Progress if in New
if($("option[value='New']").attr("selected") == "selected"){
//Disable New/Completed/Cancelled
$("option[value='New']").remove();
$("option[value='Completed']").remove();
$("option[value='Cancelled']").remove();
//Enable In Progress
$("option[value='In Progress']").attr("selected","selected");
//Call Claim WO Function
claimOrder();
}else if($("option[value='In Progress']").attr("selected") == "selected"){
//Remove New option
$("option[value='New']").remove();
$("option[value='In Progress']").remove();
$("option[value='Completed']").attr("selected","selected");
}else if($("option[value='Completed']").attr("selected") == "selected"){
//Remove New/In Progress option when Completed/Cancelled
$("option[value='New']").remove();
$("option[value='In Progress']").remove();
$("option[value='Cancelled']").remove();
}else if($("option[value='Cancelled']").is(':selected')){
//Remove New/In Progress option when Completed/Cancelled
$("option[value='New']").remove();
$("option[value='In Progress']").remove();
$("option[value='Completed']").remove();
}