使用JavaScript的剑道UI ASP.NET MVC-网格-隐藏复选框

使用JavaScript的剑道UI ASP.NET MVC-网格-隐藏复选框,javascript,asp.net-mvc,kendo-ui,kendo-grid,kendo-asp.net-mvc,Javascript,Asp.net Mvc,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,我想根据我拥有的类型变量显示或隐藏复选框() 复选框在剑道网格的弹出编辑对话框中呈现。这在下面的EditorTemplate-代码中: @model Publication @Html.HiddenFor(model => model.DocumentUpdateId) <div class="editor-label"> @Html.LabelFor(model => model.PublicationTime) </div> <div c

我想根据我拥有的类型变量显示或隐藏复选框()

复选框在剑道网格的弹出编辑对话框中呈现。这在下面的EditorTemplate-代码中:

@model Publication

@Html.HiddenFor(model => model.DocumentUpdateId)

<div class="editor-label">
    @Html.LabelFor(model => model.PublicationTime)
</div>
<div class="editor-field">
    @(Html
        .Kendo()
        .DatePicker()
        .Name("PublicationTime")
    )
</div>
<div class="editor-label">
    @Html.LabelFor(model => model.PdfModifiedDate)
</div>
<div class="editor-field">
    @(Html
        .Kendo()
        .Upload()
        .Name("PdfModifiedDate")
        .Multiple(false)
        .Async(a => a
                .Save("UploadFile","Home")
        )
        .Events(events => events
            .Upload("OnImageUpload")
        )
    )
</div>

<div class="editor-label">
    @Html.LabelFor(model => model.Carousel)
</div>
<div class="editor-field">
    @(Html
        .Kendo()
        .CheckBox()
        .Name("Carousel")
    )
</div>
@模型发布
@Html.HiddenFor(model=>model.DocumentUpdateId)
@LabelFor(model=>model.PublicationTime)
@(Html
.Kendo()
.DatePicker()
.名称(“发布时间”)
)
@LabelFor(model=>model.PdfModifiedDate)
@(Html
.Kendo()
.Upload()
.名称(“PdfModifiedDate”)
.Multiple(假)
.Async(a=>a
.Save(“上传文件”、“主页”)
)
.Events(Events=>Events
.上传(“OnImageUpload”)
)
)
@LabelFor(model=>model.Carousel)
@(Html
.Kendo()
.CheckBox()
.名称(“旋转木马”)
)
我希望能够访问复选框并根据docType隐藏它。My OnEdit事件运行并呈现日历的正确日期,但不隐藏复选框:

function OnEdit(e) {

  console.log("OnEdit");

  console.log(e);

  // set the default date
  var pt = $('#PublicationTime').data("kendoDatePicker");
  pt.value(new Date());

  var vm = e.model,
    container = e.container,
    docType = vm.DocumentType;
  vm.PublicationTime = new Date();
  vm.dirty = true;

  console.log(vm.DocumentType);
  console.log(docType.indexOf("Sector"));

  if (docType.indexOf("Sector") < 0) {
    console.log("inside if statement")
    console.log(container.find("#Carousel"));

    container.find("#Carousel").hide();
  }
}
函数OnEdit(e){
console.log(“OnEdit”);
控制台日志(e);
//设置默认日期
var pt=$(“#PublicationTime”).data(“kendoDatePicker”);
pt.值(新日期());
var vm=e.model,
容器=即容器,
docType=vm.DocumentType;
vm.PublicationTime=新日期();
vm.dirty=true;
console.log(vm.DocumentType);
console.log(docType.indexOf(“扇区”);
if(docType.indexOf(“扇区”)<0){
log(“内部if语句”)
console.log(container.find(#Carousel));
container.find(“#Carousel”).hide();
}
}

剑道文档没有任何关于访问复选框的内容。我还试图在OnEdit事件中创建一个复选框,但也没有成功-这似乎是不可能的。

因为剑道复选框不仅仅是一个简单的输入。。尝试将复选框放在另一个容器中,并隐藏该容器

<div class="carousel-checkbox">
    <div class="editor-label">
        @Html.LabelFor(model => model.Carousel)
    </div>
    <div class="editor-field">
        @(Html
            .Kendo()
            .CheckBox()
            .Name("Carousel")
        )
    </div>
</div>

if (docType.indexOf("Sector") < 0) {
    console.log("inside if statement")
    console.log(container.find("#Carousel"));
    container.find(".carousel-checkbox").hide();
}

@LabelFor(model=>model.Carousel)
@(Html
.Kendo()
.CheckBox()
.名称(“旋转木马”)
)
if(docType.indexOf(“扇区”)<0){
log(“内部if语句”)
console.log(container.find(#Carousel));
container.find(“.carousel复选框”).hide();
}

如果您只想隐藏复选框而不想隐藏标签,请将
carousel checkbox
类添加到包含复选框的div中

,您可以检查checkbox元素的呈现输入,以查看剑道成员为其分配的id/名称。基于这些信息,您可以在jquery中使用该句柄来隐藏element@MuhammadAdeelZahid这就是我已经在做的,但它没有被隐藏。因为
onEdit
是在upload widget上定义的
e.container
将为您提供包含upload widget的html元素,而不是带有carouselkendo复选框的元素,这与常规的复选框。。它使用图像来显示选中状态。。你得把一切都藏起来