Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击自定义命令时激发jQuery单击事件_Jquery_Asp.net Mvc_Kendo Ui_Kendo Grid - Fatal编程技术网

单击自定义命令时激发jQuery单击事件

单击自定义命令时激发jQuery单击事件,jquery,asp.net-mvc,kendo-ui,kendo-grid,Jquery,Asp.net Mvc,Kendo Ui,Kendo Grid,我在应用程序中使用自定义命令,对此我有两个问题 1) 如何将CSS ID和类添加到自定义命令 2) 我的自定义命令名是Add,所以我试图启动jQuery,当我单击Add按钮时单击event,但什么也没有发生。似乎没有调用jQuery单击函数 @(Html.Kendo().Grid<DatabaseLayer.TableMappings.FeeZone>() .Name("FeeZoneGrid_02") .Columns(columns => { columns.Bound

我在应用程序中使用自定义命令,对此我有两个问题

1) 如何将CSS ID和类添加到自定义命令

2) 我的自定义命令名是Add,所以我试图启动jQuery,当我单击Add按钮时单击event,但什么也没有发生。似乎没有调用jQuery单击函数

@(Html.Kendo().Grid<DatabaseLayer.TableMappings.FeeZone>()
.Name("FeeZoneGrid_02")
.Columns(columns =>
{
  columns.Bound(c => c.FeeZoneID);
  columns.Bound(c => c.FeeZoneDescription);
  columns.Command(
    command =>
      {

          command.Custom("Add").SendDataKeys(true).Click("AddFeeZoneToScheme");

          command.Custom("Remove").SendDataKeys(true).Click("RemoveFeeZoneFromScheme");
      }
     );
   })

 .Selectable(selectable => selectable
     .Mode(GridSelectionMode.Single))
 .DataSource(dataSource => dataSource
     .Ajax()
     .Read(read => read.Action("GetAllFreeZone", "Qualification"))
     .Model(model => model.Id(c => c.FeeZoneID))
)
)
@(Html.Kendo().Grid())
.名称(“FeeZoneGrid_02”)
.列(列=>
{
columns.Bound(c=>c.FeeZoneID);
columns.Bound(c=>c.FeeZoneDescription);
列。命令(
命令=>
{
command.Custom(“Add”).SendDataKeys(true)。单击(“AddFeeZoneToScheme”);
command.Custom(“Remove”).SendDataKeys(true)。单击(“RemoveFeeZoneFromScheme”);
}
);
})
.可选(可选=>可选
.模式(GridSelectionMode.Single))
.DataSource(DataSource=>DataSource
.Ajax()
.Read(Read=>Read.Action(“GetAllFreeZone”、“限定”))
.Model(Model=>Model.Id(c=>c.FeeZoneID))
)
)
HTML输出
。。。。。。。。
JQuery

$(文档).ready(函数(){
$(“.k-grid-Add”)。单击(函数(){
警报(“调用添加按钮”);
});
});
我试图实现的是,当用户单击添加按钮时,它将替换为删除按钮,反之亦然。。。在移动时,我在网格中显示两个自定义命令

非常感谢

试试这个:

$(document).ready(function () {
    $(".k-grid-Add").on("click", function () {
        $(this).hide();
        $(this).siblings(".k-grid-Remove").show();
    });
    $(".k-grid-Remove").on("click", function () {
        $(this).hide();
        $(this).siblings(".k-grid-Add").show();
    });
});

应通过列生成器的HtmlAttributes方法添加额外的类或其他属性

关于您尝试附加的事件—您是在触发DOM就绪事件时执行此操作的。然而,这些行仍然不存在——它们是通过AJax获取的

相反,您应该在触发网格的数据绑定事件时执行逻辑


另一方面,我建议您使用附加到网格体元素的委托事件(更好的性能和更简单的方式)。如果对此感兴趣,可以使用类似的方法来理解何时单击复选框。

我确信代码是正确的,但根本不会触发。k-grid-Add“单击。。。我已经用这个网格“表ID”测试了jquery,然后单击fire事件。。。。我不知道为什么没有触发click Event控制台中是否有任何错误?您确定jQuery已加载吗?如果您在文档准备就绪时发出警报,它是否会触发?你确定创建的按钮确实有k-grid-Add和k-grid-Remove类吗?是的,这都是真的,document.ready fires alert加上我已经尝试了grid table id.click,它会激发Too。你能重现你在a中经历的行为吗?它在JSFiddle中有效,但为什么在visual studio中不起作用呢!!!我正在运行的代码在本地主机上的运动???任何建议!
<script type="text/javascript">

 $(document).ready(function () {

    $(".k-grid-Add").click(function () {

        alert("Add button is called");
    });
});

</script>
$(document).ready(function () {
    $(".k-grid-Add").on("click", function () {
        $(this).hide();
        $(this).siblings(".k-grid-Remove").show();
    });
    $(".k-grid-Remove").on("click", function () {
        $(this).hide();
        $(this).siblings(".k-grid-Add").show();
    });
});