Setar item na combo via javascript

Opa pessoal

eu to precisando de carregar uma combo dentro de uma grid, sendo que o valor da combo será setado de acordo com o valor que vinher de um campo da linha.
Eu tentei fazer assim:

<f:verbatim>
      <script>
	 <![CDATA[
		var combo = #{rich:element('usuarioPapel')};
		for (int i = 0; i < combo.length; i++) {
		      if (combo.options[i].value == "#{row.magistradoSubstitutoSessoa}") {
			combo.options[i].selected = "true";
			break;
		      }
		}
	]]>
      </script>
</f:verbatim>

bom pessoal consegui resolver. Nem que eu virasse essa madrugada aqui na empresa, mas eu ia ter que achar uma solução.

Analisando o código montado pelo richfaces na página eu descobri que cada item da combo gerada recebia um valor de 0 a n, onde zero é o primeiro item da combo e n o último elemento.
Então, usando javascript, carreguei a combo em uma variável usando uma função do richfaces e pecorri toda a combo até achar na combo o valor que vinha na linha da do rich:datatable.
Eu criei um método que pegava a linha e encontrava na lista da combo a posição correspondente para então retornar seu índice e setar via javascript o item correspondente ao índice retornado.

Acho que consegui explicar. :s

javascript

<script type="text/javascript" >
    var combo = #{rich:element('magistradoSubstituto')};
    for (i = 0; i != combo.length; i++) {
        if (combo.options[i].value == "#{sessaoComposicaoOrdemHome.posicaoItemSubstituto(row.magistradoSubstitutoSessao)}") {
            combo[i].selected = true;
            break;
        }
    }
</script>

método da classe

	public Integer posicaoItemSubstituto(PessoaMagistrado row){
		if (row == null)
			return null;
		int i = 0;
		for(i = 0; i < listaSubstituto.size(); i++){
			if (listaSubstituto.get(i).getIdUsuario().equals(row.getIdUsuario()))
				return i;
		}
		return null;
	}

:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: