Campo Duplo Select não efetua a contagem de posição corretamente!

Olá pessoal, estou com um problema.
Tenho um controle que possui um campo duplo select, o mesmo é obrigatório e recebe lojas, cada loja possui no máximo 3 posições.
Preciso fazer uma validação dentro de um botão ajax, testando que se o campo duplo select for maior que 3, ou seja, tenha mais de uma loja selecionada, que mostre uma mensagem, tentei assim:

  • $lj = strlen({sel_Lojas}); //DENTRO DO BOTÃO AJAX
  • sc_alert($lj);

O que acontece: Seleciono uma loja e clico no botão ele me traz 3, seleciono mais uma loja ele me traz 7,porém se eu tiro novamente uma das lojas, ele continua trazendo 7, ou seja, ele não está fazendo a troca dos valores.
Tentei também usar um foreach, porém acontece a mesma coisa.

Testei dentro de um evento ajax onChange:

[lj] = strlen({sel_Lojas});

E no botão:

sc_alert([lj]);

Porém o campo fica assim quando seleciono mais de uma loja: 003@?@004.

Alguém sabe me dizer o por que disso, ou me ajudar a efetuar esse count no campo corretamente ?

Agradeço desde já.

Utilize um Evento Ajax no OnChange do SELECT

Coloca como ONBLUR:
DUPLO SELECT FORMULÁRIOS

[glo_Grupo]=’(’;

$selecionados = explode(’;’, {GRUPO}); // o Sc usa o ; para separa as seleções.

// EXEMPLO DAS LINHAS:
for ($j = 0; $j < count($selecionados); $j++) {
[glo_Grupo].=$selecionados[$j];
if ($j <= Count($selecionados)-2) {
[glo_Grupo].=’,’;
}
}

[glo_Grupo].=’)’;

ECHO 'GRUPO = '.[glo_Grupo]."
";

break;

$selecionados = explode(’@?@’, {Frases}); // o Sc usa o @?@ para separa as seleções.

// EXEMPLO DAS LINHAS:
for($j = 0; $j < count($selecionados); $j++){
echo "Linha $j = $selecionados[$j]
";
}

break;

Consegui.

Obrigada!