Desactivar Botones
Una funcion que permita ah los botones estar desactivados, y solo se activaran y selecionan cualquier file del GRID.
Usa la propiedad disabled:true en los botones y en el grid le asignas un selection model (sm) de la clase RowSelectionModel y en este puedes programar el evento rowselect que se dispara al seleccionar una fila del grid.
var grid = new Ext.grid.GridPanel({ // // La parte no relevante de la configuarción del grid // no aparece // sm: new Ext.grid.RowSelectionModel({ singleSelect: true }), tbar: [{ text: 'Boton', id:'idBoton' disabled: true, }] }); grid.getSelectionModel().on('rowselect',function( gr, rowIndex, record ){ Ext.getCmp('idBoton').enable(); });Espero que te sirva de ayuda. Un saludo
holas haber si alguien me ayuda,
tengo dos checks y un boton,cuando los dos checks estan marcados quiero que recien se habilite el boton, como puedo hacerlo...gracias <!-- e -->hicolu@yahoo.com<!-- e --> <!-- s;) --><!-- s;) -->
tendrías que agregar un listener al evento 'check' de los checkbox y preguntar por el estado de ambos para activar el botón, algo asi
this.check1.on('check', this.habilitar, this); this.check2.on('check', this.habilitar, this); habilitar: function() { if (this.chechk1.getValue()==true && this.chechk2.getValue()==true) { this.miboton.setDisabled(false); } else { this.miboton.setDisabled(true); } }espero te sirva como guia
Gracias tokkaido, mira trate implementar y no logro aun ... teadjunto el codigo dime en que toy fallando, gracias
....>
//-- FORMULARIO DE APROBACION --//
function aprobar(){
var fisico = null;
var ppto = null;
if (fisicoCheck.getValue()){
fisico=1;
}else{
fisico=2;
}
if (pptoCheck.getValue()){
ppto=1;
}else{
ppto=2;
}
// if (fisico=1){
// alert("fisico=1");
// }else{
// alert("fisico=2");
// }
Ext.Ajax.request({
url: '<?=base_url()."index.php/modulo/mod43_accion";?>',
method: 'POST',
params: {
idMeta : <?=$idMeta?>,
comentario : comentario.getValue(),
fisico : fisico,
ppto: ppto
},
success: function (action,options){
var data=Ext.util.JSON.decode(action.responseText);
Ext.Msg.alert('Mensaje de Exito...', data.message, function(btn, text){
if (btn == 'ok' || btn=='yes'){
window.close();
}
});
}
});
}
//lhc 22/10/2010
habilitar: function() {
if (this.fisicoCheck.getValue()==true && this.pptoCheck.getValue()==true) {
this.botonmetas.setDisabled(false);
alert("ok");
} else {
this.botonmetas.setDisabled(true);
}
}
var form = new Ext.FormPanel({
renderTo: 'form',
defaults:{xtype:'textfield'},
bodyStyle:'background: #E5E5E8;',
border:false,
width:700,
labelWidth:200,
labelAlign:'right',
items:[
fisicoCheck,
pptoCheck,
comentario
],
buttonAlign: 'center', //<--botones alineados a la derecha
buttons:[
{
text:'Aprobar metas',
id:'botonmetas',
disabled:true,
listeners : {
click: function(){
this.fisicoCheck.on('check', this.habilitar, this);
this.pptoCheck.on('check', this.habilitar, this);
aprobar();
//* habilitar();
}
}
}
]
});
}
}
Ext.onReady(com.mod43.Form1.init,com.mod43.Form1);
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.