MVC 禁用字段只读基于另一个值

问题描述

我正在使用 Telerik 的 MVC 产品。我有一个网格,其中可以根据另一个字段的值启用或禁用两个字段。 SetNextDueScheduleMethod 字段值可以是“Usage”、“Date”或 NULL。如果 SetNextDueScheduleMethod = "Usage",则 SetNextDueDate 应该被禁用或只读。如果 SetNextDueScheduleMethod = "Date",则 SetNextDueUOM 应该被禁用或只读。

我有一个绑定到“OnEdit”事件的脚本。我需要关于函数“OnEdit”的定义的帮助,因为当前代码没有做任何事情并且没有在控制台中给出错误

@(Html.Kendo().Grid<EMS.Models.ForecastItem>()
          .Name("grid")
          .Events(ev => ev.Edit("onEdit"))
          .Columns(columns =>
          {
              columns.Bound(c => c.FCI_text).Title("Description").Width(240);
              columns.ForeignKey(p => p.SetNextDueScheduleMethod,(System.Collections.IEnumerable)ViewData["ScheduleMethod"],"ScheduleMethodID","ScheduleMethodID")
                     .Title("Next Due Schedule Method").Filterable(ftb => ftb.Multi(true).Search(true)).Width(180);
              columns.Bound(c => c.SetNextDueUOM).Width(180);
              columns.Bound(c => c.SetNextDueDate).Format("{0: yyyy/MM/dd HH:mm}").Width(180);
              columns.Command(command => { command.Edit(); command.Destroy(); }).Width(230);
          })
          .HtmlAttributes(new { style = "height: 720px;" })
          .ToolBar(toolbar =>
          {
              toolbar.Excel();
          })
          .Editable(editable => editable.Mode(GridEditMode.InLine))
          .Pageable()
          .Navigatable()
          .sortable(sortable =>
          {
              sortable.sortMode(GridSortMode.SingleColumn);
          })
          .Filterable()
          .Scrollable()
          .DataSource(dataSource => dataSource
              .Ajax()
              .PageSize(500)
              .Model(model =>
              {
                  model.Id(p => p.FCI_ID);
                  model.Field(p => p.FCI_ID).Editable(false);
              })
              .Read(read => read.Action("ForecastItems_Read","ForecastItem"))
              .Update(update => update.Action("ForecastItems_Update","ForecastItem"))
              .Destroy(destroy => destroy.Action("ForecastItems_Destroy","ForecastItem"))
          )
          .Resizable(resize => resize.Columns(true))
)

<script type="text/javascript">
    function onEdit(e) {
        if (e.model.SetNextDueScheduleMethod == "Usage") {
            $(e.container).find('input[name="SetNextDueDate"]').attr("disabled",true);
          //  $("[name='SetNextDueDate']").enable(false);
        }
    }
</script>

 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...