Javascript Extjs网格-单击事件侦听器
我通过以下方式成功地将行双击事件侦听器添加到我的网格中:Javascript Extjs网格-单击事件侦听器,javascript,extjs,extjs4,click,gridpanel,Javascript,Extjs,Extjs4,Click,Gridpanel,我通过以下方式成功地将行双击事件侦听器添加到我的网格中: listeners : { itemdblclick: function(dv, record, item, index, e) { alert('working'); } }, 现在,我需要在所选行的第三列中获得精确的值,我如何才能做到这一点 编辑 好的,我找到了: listeners: { itemclick: function(dv, record, item, index, e) {
listeners : {
itemdblclick: function(dv, record, item, index, e) {
alert('working');
}
},
现在,我需要在所选行的第三列中获得精确的值,我如何才能做到这一点
编辑
好的,我找到了:
listeners: {
itemclick: function(dv, record, item, index, e) {
alert(record.get('name'));
}
}
但是似乎是记录的结果。get('name')
不是文本!它是一个对象,但我不能像处理文本一样处理它。有人知道吗
编辑
例如,如果我将名称传递给搜索函数:search(record.get('name'))代码>这不起作用。但如果我这样传递:Search('Mike')代码>它工作 试试看
listeners: {
itemclick: function(dv, record, item, index, e) {
var selectedRec = dv.getSelectionModel().getSelected();
alert(selectedRec.get('name')); //Will display text of name column of selected record
}
确保
- 您的属性名称实际上是小写的“name”,而不是“name”
- 使用
console.log(record.get('name'))
将字段的值打印到控制台中,或者通过键入console.log(record.data.name)
或console.log(record.data['name'))
使用直接访问。基本上所有的返回都应该是一样的
- 将值强制转换为字符串apply
'
像var myVar=2一样动态应用;myVar=myVar+“”;//现在将20打印为字符串
您知道第三列绑定的是哪一列吗?你已经知道数据索引了吗?刚刚更新了我的帖子。谢谢你确定吗?record.get()给你什么对象??如果你的数据是一个字符串,它会给你一个字符串。你能在调试器中检查它吗?是的,我确定,我成功地将名称作为字符串获取,但当我将其传递给另一个函数时,它无法处理它,另一方面,如果我传递名称本身(我键入它),函数工作正常。你可以使用console.log(record.data)
或在你的例子中使用console.log(record.get)查看记录数据('name'))
。不要使用alert()出现此错误:对象[Object Object]没有方法“getSelected”
@Noon您不能在4.x之前调用getSelected()
此方法。请使用getSelection()
相反。但不建议在发生单击事件的情况下在未启用mutliselection的情况下执行此操作,因为您已经将该记录作为第二个参数!