Quando coloco um componente dropDownListRow ou datepickerRow do Yiibooster como readonly, ele apenas coloca o campo com o aspecto "readonly", porém permite alteração de dados. Com o Input comum (textFieldrow) dá certo.
Não posso colocar o campo como "disabled", porque preciso que os dados do formulário sejam passados para o Controller.
Já usei os valores "true" ou "readonly" na variável $readonly do código acima … mas ambas continuam permitindo alteração.
Será que isso tem solução ou vou ter que fazer um IF no meu programa, para exibir o Dropdownlist apenas quando for editável … e quando for readonly, exibo um Input comum ?
Em anexo, podem ver que o campo está "cinza" como se fosse readonly, porém permite mudar os valores.
Se você tiver usando uma outra opção para habilitar e desabilitar o campo, faz com disabled.
Os campos <select> com readonly são os únicos que o usuário tem acesso para alterar, o que não poderia ocorrer.
Ai você cria um campo type="hidden" com o mesmo nome, id e valor. Assim você consegue manter o <select> sem alteração.
Se precisa habilitar via jquery, coloca um .remove() no campo type="hidden", senão quando for submeter o formulário, o $_POST prioritário sempre será do input hidden.