Kendo表单状态为RESOLVED时,如何仅启用Status字段其余禁用?
解决方案
要实现「当Status字段值为RESOLVED时,仅保留Status字段可编辑、其余表单字段禁用」的需求,只需调整原禁用逻辑的选择器,排除Status对应的表单字段容器即可,导航样式切换和按钮隐藏的逻辑可保留。
修改后的代码
if ($("#Status").val() == "RESOLVED") { // 导航样式切换逻辑保留 $(".nav-link:contains(List of Resolved Issue)").addClass("active").removeClass("text-light").css("background-image", "linear-gradient(darkgray, grey)"); // 禁用除Status外的所有表单字段 $(".k-form-field").not($("#Status").closest(".k-form-field")).addClass("k-state-disabled"); // 按钮隐藏逻辑保留 $(".k-buttons-end").hide(); }
逻辑说明
- 原代码中
$(".k-form-field").addClass("k-state-disabled")会选中所有表单字段容器并添加禁用类,现在通过.not($("#Status").closest(".k-form-field"))排除了Status字段所在的容器,确保只有Status字段保持可编辑状态。 $("#Status").closest(".k-form-field")用于精准定位Status下拉框所在的表单字段容器,避免误排除其他元素。
补充提示
如果需要在Status切换为其他值时恢复所有字段的可编辑状态,可补充以下逻辑:
else { $(".nav-link:contains(List of Resolved Issue)").removeClass("active").addClass("text-light").css("background-image", ""); $(".k-form-field").removeClass("k-state-disabled"); $(".k-buttons-end").show(); }
内容的提问来源于stack exchange,提问作者CodingNeeded
相关产品推荐
相关产品推荐

