easyui datagrid里某一列我使用了combobox作为editor,我在书写onselect事件的时候需要知道当前行的行号rowindex,如何获得?
时间: 2024-09-07 18:05:45 浏览: 52
easyui的datagrid中editor和combobox的级联
3星 · 编辑精心推荐
在easyui中,当你使用combobox作为editor,并且想要在onselect事件中获取当前行的行号(rowindex),你可以通过combobox绑定的data属性来获取。首先确保combobox组件是在grid的formatter属性中定义的,并且设置了data属性与行数据相关联。然后在onselect事件的回调函数中,可以通过this触发上下文来访问当前combobox所在的单元格的行数据对象。
以下是一个简化的例子来说明如何实现:
```javascript
formatter : function(value, row, index) {
// 假设combobox的值与行数据的某个属性相关联,比如"comboboxValue"
return '<input type="text" class="easyui-combobox" style="width:100px" data-options="value:\'"+value+'\',onChange: function(newValue,oldValue){$(this).combobox("select",newValue);},data:\'"+row.id+'\'"/>';
}
```
在上面的formatter函数中,combobox的data-options设置了data属性,这里假设每行数据中有一个id字段用来表示行号。当combobox的值发生变化时,触发onChange事件,可以通过$(this)获取到当前combobox元素,然后通过.data()方法来获取data属性中存储的行号信息。
这样,你就可以在onselect事件中通过行数据对象获取到当前行的行号了。
阅读全文