edatagrid中字段设置有onChange,点击的时候另一个字段锁定不能编辑。全的jsp和js怎么写
时间: 2024-01-21 21:18:11 浏览: 19
在edatagrid中设置onChange事件可以通过以下代码实现:
```javascript
$('#datagrid').edatagrid({
onChange: function(index, row) {
// 在这里编写onChange事件的逻辑代码
}
});
```
为了实现点击某个字段时,另一个字段锁定不能编辑,可以在onChange事件中加入如下代码:
```javascript
$('#datagrid').edatagrid({
onChange: function(index, row) {
// 获取当前行的某个字段的值
var value = row['field1'];
// 判断条件,如果value等于指定值,则锁定另一个字段
if(value == '指定值') {
$('#datagrid').edatagrid('disableEditor', {index: index, field: 'field2'});
}
else {
$('#datagrid').edatagrid('enableEditor', {index: index, field: 'field2'});
}
}
});
```
其中,`disableEditor`方法可以禁用指定行和字段的编辑器,`enableEditor`方法可以启用指定行和字段的编辑器。需要根据需要调整`field1`、`field2`和`指定值`的具体值。
完整的JSP和JS代码如下所示:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Example</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.edatagrid.js"></script>
<script type="text/javascript">
$(function() {
$('#datagrid').edatagrid({
url: 'data.json',
saveUrl: 'save_data.jsp',
destroyUrl: 'delete_data.jsp',
onChange: function(index, row) {
var value = row['field1'];
if(value == '指定值') {
$('#datagrid').edatagrid('disableEditor', {index: index, field: 'field2'});
}
else {
$('#datagrid').edatagrid('enableEditor', {index: index, field: 'field2'});
}
}
});
});
</script>
</head>
<body>
<table id="datagrid" style="width:100%; height:300px"></table>
</body>
</html>
```
需要注意的是,以上代码中的`data.json`、`save_data.jsp`和`delete_data.jsp`需要根据实际情况调整。