Duplo select - Mudar a cor

Olá !

Estou usando um duplo select num formulário. Gostaria de mudar a cor dos objetos da lista da esquerda que foram selecionados e passados para a lista da direita. Tentei usar a parte de visualização (css) mas não consegui. Tem como ?

Antecipadamente agradeço.

pessoal, alguma dica ?

Por padrão eles já saem da lista da esquerda.

Não entendi muito bem seu problema,

Almeida,

Eu quero mudar a cor do item que foi levado pra lista da direita. Exemplo: Tenho uma lista da esquerda com os meses do ano. Vamos supor que escolha os meses de Junho e Julho, levando-os para a lista da direita. Eu queria mudar a cor de Junho e Julho da lista da esquerda (a lista que contém todos os meses). Por padrão fica um cinza bem claro. Preciso mudar esse cor (requisito do cliente, acredita ?!?!). Tem como fazer isso pelo SC ou só na mão mesmo pelo php ??

Posso estar errado, mas mudar a cor de linhas especificas em uma tag select acho que não eh possível. Não sou conhecedor profundo de css e html.

Mas isso nao impede de ter um resultado parecido usando duas divs com tables dentro e um pouco de javascript ou jquery.

Agora me diz, seu cliente exige isso mas ele esta disposto a pagar por isso?

Cara vai ser meio tenso fazer isso.

O duploselect do scriptcase são 2 selects, mais não tem nada no primeiro select marcando oque foi selecionado, pelo menos no lado do HTML.
Para fazer isso é como o haroldo disse, vai ter que usar Javascript. Minha ideia é:

Ao terminar de recarregar a pagina verificar os item do SELECT 1 que estão no SELECT 2 e mudar a cor, sempre que executar uma mudança nesse select refaz a rotina de verificar e altera a cor.

Pelo ScriptCase não tem.

Almeida,

Não sei se tem como mudar a cor do Option (de uma linha específica do select), se tem nos mostre como pois não achei documentação para isso e tentei colocar no style do option e não deu certo.

Haroldo,

Mudando via css vai mudar todo o option a não ser que haja marcação em algum. O exemplo abaixo muda todos os option:
Style:

  select option {
     background-color: "#000";
     color: "#fff";
}

Agora usando o jQuery seria percorrendo os option e mudando a cor dos que se encontra no segundo select.

Jquery:

var select_orig = $("select_um option").,
       select_dest = $("select_dois option");

$.each(select_orig, function(i, e) {
    /* aqui verificaria se o value se encontraria no segundo select, no caso o select_dest */
   if(e.value == "Valor do option que deseja") {
        $(this).css("backgroundColor", "red");
   }
}

Se em cada option tivesse uma marcação poderia usar direto via CSS.

PS: Fiz o código sem testar, não sei se está correto, mais a lógica seria essa.

Pelo que entendi, ele já terá itens no select da direita (Cinza Claro).
Ao clicar em itens do select da esquerda esse é movido para o select da direita em vermelho por exemplo, mas os que já estavam no select da direita anteriormente permanecem cinza claro.

Mudar a cor de todos os options do select beleza, tranquilo.

Mas manter cores diferentes nas linhas do select conforme uma condição, isso realmente eu não consegui fazer usando a tag select.

Vou fazer umas simulações aqui nos SELECTS do scriptcase e posto o resultado.
Usando jQuery para mudar apenas um ou vários do SELECT da esquerda.

Da direita após os cliques na esquerda.

Haroldo,
Crie um duplo select com o nome de “select_teste”.
Copie esse código no javascript em onLoad.
Veja o resultado, creio que a partir desse da para fazer vários.

Eu crie um método javascript, que pode chamar no onLoad ou eventos ajax.
Creio que pela sua experiência vai saber implanta-lo sem problemas.

var option = $("select[name=select_teste_orig] option"),
	selecter = $("select[name=select_teste_orig]");

changeColor(option);

selecter.dblclick(function(){
	changeColor(option);
});


function changeColor(elem) {
	$.each(elem, function(i, e) {
		var s = $(this).attr("style");
		if(s != undefined) {
			$(this).css({
				"backgroundColor": "blue",
				"color": "white"
			});
		}
	});
}

Resultado:

Almeida & Monge,

Vou burilar o código e ver se conseguimos chegar num resultado que atenda a necessidade do tópico.

Haroldo,
Pelo que entendi monge gostaria de mudar a cor dos OPTION da esquerda, e é assim que está.
Não sei se entendi errado.

Sim, você está correto.

Tenho que pensar aqui, no momento de selecionar os itens e ao passar para a direita no botão > atribuir as cores.

E deixar o código exclusivo para os selects que o programador determinar.

Pegando carona no tópico, alguém já criou um FILTRO em um duplo select?
Parece que há um bug quando se cria um filtro no duplo select. Se alguém já fez, deu certo?

Sim já fiz e o meu funcionou!

Saulo! Seu select é baseado em um N-N Relations?
Há algum segredo, pois quando eu utilizo esse select duplo em uma N:N Relations com FILTRO ele me da um erro esquisito, dizendo: “Dados inválidos”. Quando eu tiro o filtro, tudo funciona perfeitamente.

Almeida e Haroldo,

Inicialmente quero agradecer pelo esforço em tentar me ajudar. Consegui convencer o cliente a deixar do jeito que está, até porque ele não está me pagando para esse nível de customização !
De qualquer forma, os posts de vcs já me serviram como aprendizado, pois estou retornando ao php e ao scriptcase para desenvolvimento web (Cheguei a usar a versão 2 do SC e nos últimos tava trabalhando mais com .NET).
Valeu mesmo !

Sim Fred…é um NN Relations.