Ir para conteúdo

Placar de líderes


Conteúdo popular

Exibindo o conteúdo com as maiores reputações em 06/11/17 em todas as áreas

  1. 2 pontos
    para não enviar campos em branco, coloque o atributo required no campo.
  2. 1 ponto
    Explicando: Coloco todas as tags select em um array para iterar depois var selects = document.getElementsByTagName("select"); Digo que quando o select mudar o valor, chamar a função a seguir selects[i].onchange = function(e) { Salvo o valor atual do select separadamente apenas para clareza, pois não precisava, uma vez que o resto está no mesmo escopo var val = this.value; Agora eu procuro em todos os selects se algum já possui o mesmo valor que foi selecionado agora for (var z = 0; z < selects.length; z++) { Aqui eu preciso da posição do select atual, pois você precisa que a verificação ocorra nos outros var index = Array.prototype.indexOf.call(selects, this); Aqui eu verfico se não é o select atual e se o valor selecionado é igual ao do atual if ((z !== index) && selects[z].value === val) { Agora eu vou desselecionar a tag option selecionada for (var o = 0; o < options.length; o++) { if (options[o].selected) { options[o].selected = false; } Aqui eu seleciono novamente a primeira padrão (Qual a sua opção de férias?) options[0].selected = true;
  3. 1 ponto
    Entendi, deixei o script um pouco mais sofisticado para você, reimplementa por favor: <script> /** * @author Don Benatti */ /** Se estiver usando jQuery substitua window.onload por jQuery(document).ready(function() { ... }); */ window.onload = function() { var selects = document.getElementsByTagName("select"); for (var i = 0; i < selects.length; i++) { selects[i].onchange = function(e) { var val = this.value; for (var z = 0; z < selects.length; z++) { var index = Array.prototype.indexOf.call(selects, this); if ((z !== index) && selects[z].value === val) { //alert("Este mês já foi selecionado, por favor, escolha outro!"); var options = this.getElementsByTagName("option"); for (var o = 0; o < options.length; o++) { if (options[o].selected) { options[o].selected = false; } } options[0].selected = true; return false; } } } } } </script>
Esse placar de líderes está definido para São Paulo/GMT-03:00
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.