<script type="text/javascript"> $('document').ready(function() { $('select').change(function() { var primeiro = $('#primeiro_select').val(); $('#segundo_select_a').hide(); if (primeiro == 2) { $("select#segundo_select").html("<option selected value='0'>{$tipos[0]}</option>").show(); }else{ {foreach key=key item=item from=$tipos} $("select#segundo_select").append("<option value={$key}>{$item}</option>").show(); {/foreach} } }); </script> <select id="primeiro_select" name="primeiro_select"> <option value="1">Teste1</option> <option value="2">Teste2</option> <option value="3">Teste3</option> </select> <select id="segundo_select_a" name="segundo_select_a" style="display:block;float:left;width:300px;"> <option value="">Selecione primeiro acima</option> </select> <select id="segundo_select" name="segundo_select" style="display:none;float:left;width:300px;"></select>
Ele até está funcionando, problema é que ali no "$("select#segundo_select").append..." qdo a pessoa seleciona outro dado no primeiro select, ele retorna os dados de antes e soma com os novos, duplicando assim os valores.
Testei também com $("select#segundo_select").html, mas não rolou. Ele só me retorna 1 valor, como a variavel "$tipos" é um array de valores, preciso alguma outra forma que ele liste todos os dados que estiver nesse array.
Alguem sabe outra forma de mostrar os "actions" sem que eles fiquem duplicando?
Edição feita por: kurt_rp, 08/04/2010, 15:15.