需要从 onItemClick 事件中找出 Webix 数据表单元格的内容

Posted

技术标签:

【中文标题】需要从 onItemClick 事件中找出 Webix 数据表单元格的内容【英文标题】:Need to find out content of Webix datatable cell from onItemClick event 【发布时间】:2018-03-15 12:29:30 【问题描述】:

我的两个 Webix 数据表列在下面的单元格中有不同文本的按钮(定义为模板)。我的要求是在单击按钮时根据按钮文本执行一些操作。

为了简单起见,到目前为止,我正在显示一条警报消息,该消息在 onItemClick:function(e, id, node) 的帮助下将行和列交叉信息显示到其中。

我在这里对我的问题做了一个 sn-p:https://webix.com/snippet/06bd7631 标题为“注释”和“原因”的最后两列分别具有带有文本“display_msg_1”和“display_msg_2”的按钮。 单击它们时,我需要在警报消息中显示此相应的按钮文本。此外,如果除了单击按钮之外的任何其他单元格(这是最终目的),onItemClick 事件也不应该起作用。当前,单击任何单元格时都会发出警报。

请帮助我在这种情况下如何获取按钮文本。

谢谢。

【问题讨论】:

【参考方案1】:

您可以为特定元素定义点击处理程序,而不是将 onItemClick 处理程序附加到整个组件中

查看https://webix.com/snippet/6c28d3c7

这里,我修改了html按钮的代码,比如next

<input type='button' class='btn1' value='display_msg_1' align='center'>
<input type='button' class='btn2' value='display_msg_2' align='center'>

如您所见,现在每个按钮都有唯一的 CSS 类名称

之后,可以在组件的配置中使用 onClick 选项将处理程序映射到唯一的 CSS 类

onClick:                         
    btn1:function(e, id, node)
        alert("button clicked row ="+id.row + " |col = "+id.column);
    ,
    btn2:function(e, id, node)
        alert("message 2")
    
 

【讨论】:

以上是关于需要从 onItemClick 事件中找出 Webix 数据表单元格的内容的主要内容,如果未能解决你的问题,请参考以下文章

Android ListView onItemClick Not Work

RecyclerView onItemClick button和布局都有单击事件时的处理方式

ListView的OnItemClick无法响应以及子Item控件的事件处理。

OnItemClick 如何从列表视图中获取单击项目的文本值

从片段中ListView的onItemClick开始Activity

如何从另一个类中调用 onItemClick 方法?