{ header:‘以太网口’, width:225, dataIndex:‘ethID’, align:‘center’, renderer : function(v){ return “以太网口”+v; } }, { header: “以太网口模式”, width: 225, dataIndex: ‘ethMode’, align:‘center’, editor: new Ext.form.ComboBox({ id:‘ethicModeCombo’, typeAhead: true, //blankText:‘请选择’, emptyText:‘请选择’ , editable: false, forceSelection: true, transform: ‘ethMode’, lazyRender: false, listClass: ‘x-combo-list-small’, displayField:‘ethMode’, valueField:‘id’, triggerAction: ‘all’, queryMode :‘local’, store: ethPortStore, }), renderer : function(v){ if(v == '3'){ return "PDH"; }else if(v == '4'){ return "155M"; }else if(v == '5'){ return "622M"; }else if(v == '6'){ return "POS"; }else if(v == '8'){ return "2.5G"; }else if(v == '9'){ return "10G"; } listeners: { Select:function(combo,records){ //检查是否有重复项 var values = store.collect(‘v’); var SelectText = records[0].get(‘v’); if ( values.indexOf(6) > 1) { Ext.Msg.alert('错误','不允许重复选择相同的选项'); combo.reset(); } } } } 这段代码如何实现检测选择一项重复内容并提示错误
理解问题{ header:‘以太网口’, width:225, dataIndex:‘ethID’, align:‘center’, renderer : function(v){ return “以太网口”+v; } }, { header: “以太网口模式”, width: 225, dataIndex: ‘ethMode’, align:‘center’, editor: new Ext.form.ComboBox({ id:‘ethicModeCombo’, typeAhead: true, //blankText:‘请选择’, emptyText:‘请选择’ , editable: false, forceSelection: true, transform: ‘ethMode’, lazyRender: false, listClass: ‘x-combo-list-small’, displayField:‘ethMode’, valueField:‘id’, triggerAction: ‘all’, queryMode :‘local’, store: ethPortStore, }), renderer : function(v){ if(v == '3'){ return "PDH"; }else if(v == '4'){ return "155M"; }else if(v == '5'){ return "622M"; }else if(v == '6'){ return "POS"; }else if(v == '8'){ return "2.5G"; }else if(v == '9'){ return "10G"; } listeners: { Select:function(combo,records){ //检查是否有重复项 var values = store.collect(‘v’); var SelectText = records[0].get(‘v’); if ( values.indexOf(6) > 1) { Ext.Msg.alert('错误','不允许重复选择相同的选项'); combo.reset(); } } } } 这段代码如何实现检测选择一项重复内容并提示错误
已完成理解「{ header:‘以太网口’, width:225, dataIndex:‘ethID’, align:‘center’, renderer : function(v){ return “以太网口”+v; } }, { header: “以太网口模式”, width: 225, dataIndex: ‘ethMode’, align:‘center’, editor: new Ext.form.ComboBox({ id:‘ethicModeCombo’, typeAhead: true, //blankText:‘请选择’, emptyText:‘请选择’ , editable: false, forceSelection: true, transform: ‘ethMode’, lazyRender: false, listClass: ‘x-combo-list-small’, displayField:‘ethMode’, valueField:‘id’, triggerAction: ‘all’, queryMode :‘local’, store: ethPortStore, }), renderer : function(v){ if(v == '3'){ return "PDH"; }else if(v == '4'){ return "155M"; }else if(v == '5'){ return "622M"; }else if(v == '6'){ return "POS"; }else if(v == '8'){ return "2.5G"; }else if(v == '9'){ return "10G"; } listeners: { Select:function(combo,records){ //检查是否有重复项 var values = store.collect(‘v’); var SelectText = records[0].get(‘v’); if ( values.indexOf(6) > 1) { Ext.Msg.alert('错误','不允许重复选择相同的选项'); combo.reset(); } } } } 这段代码如何实现检测选择一项重复内容并提示错误」
展开阅读网页
这段代码通过监听Select
事件来检测用户在选择以太网口模式时是否选择了重复的选项,并在发现重复时提示错误。
代码实现检测重复选择并提示错误
- Select事件监听: 代码通过
listeners
对象监听Select
事件,当用户选择一个选项时触发该事件。 - 检查重复项: 在
Select
事件处理函数中,代码使用store.collect('v')
方法获取当前所有已选择的值,并检查新选择的值是否已经存在于这些值中。 - 提示错误: 如果发现重复选择,代码使用
Ext.Msg.alert('错误','不允许重复选择相同的选项')
方法提示用户错误信息,并调用combo.reset()
方法重置选择框,取消用户的选择。
详细步骤
-
获取所有已选择的值:
var values = store.collect('v');
这行代码获取当前所有已选择的值,存储在
values
数组中。 -
检查新选择的值是否重复:
var SelectText = records[0].get('v'); if (values.indexOf(6) > 1) {
这行代码获取用户新选择的值,并检查该值是否已经存在于
values
数组中。 -
提示错误并重置选择框:
Ext.Msg.alert('错误','不允许重复选择相同的选项'); combo.reset();
如果发现重复选择,代码使用
Ext.Msg.alert
方法提示用户错误信息,并调用combo.reset()
方法重置选择框,取消用户的选择。
关键点
- 事件监听: 通过监听
Select
事件,代码能够在用户每次选择时进行检查。 - 重复检测: 使用
store.collect('v')
方法获取所有已选择的值,并通过indexOf
方法检查新选择的值是否已经存在。 - 错误提示: 使用
Ext.Msg.alert
方法提示用户错误信息,并使用combo.reset()
方法重置选择框。
通过这些步骤,代码实现了检测选择一项重复内容并提示错误的功能。