E aí, galerinha do GUJ. Tudo bem?
Preciso fazer remoção de itens de selects dinamicamente, mas não tenho ideia de como começar.
A ideia é:
Eu tenho lá, por exemplo, três selects:[code]
1ª opção
2ª opção
3ª opção
4ª opção
1ª opção
2ª opção
3ª opção
4ª opção
1ª opção
2ª opção
3ª opção
4ª opção
[/code]
Ao selecionar [b]1ª opção[/b] no select1, queria removê-la dos selects 2 e 3. Se eu selecionar a [b]2ª opção[/b] no select1, gostaria que voltasse a [b]1ª opção[/b] que foi removida. Tô tentando fazer algo desse tipo, mas não tá saindo.
Alguém tem alguma luz aí?
Valeu, galera,
fiquem com Deus!
Ajuda, sim, mas não tô tendo ideia de onde partir, saca? Tá escuro pra mim, ainda. haha[/quote]
Que tal fazer um negócio meio antiquado e estudar? Aqui é um ótimo lugar para começar
Ajuda, sim, mas não tô tendo ideia de onde partir, saca? Tá escuro pra mim, ainda. haha[/quote]
Que tal fazer um negócio meio antiquado e estudar? Aqui é um ótimo lugar para começar[/quote]
Obrigado pela dica, mas Javascript eu conheço. Queria uma dica, uma luz, de COMO fazer a situação.
Obrigado pela resposta, rsmoraes. Consegui finalizar a lógica que precisava. Pode não estar “padronizado” ou coisa do tipo, mas, por hora, funciona deste modo:[code]function contains(valor, array) {
for (count = 0; count < array.length; ++count) {
if (array[count] == valor)
return true;
}
return false;
}
function atualizarOpcoesCursos(select, numeroCursosDisponiveis) {
var virgula = select.val().indexOf(',');
var valorSelecionado = select.val().substr(0, virgula);
var cursoSelecionado = select.val().substr(virgula, select.val().length);
var selecionados = '';
$("#cursos li select").each(function (i, item) {
var selecionado = $(item).val().substr(0, $(item).val().indexOf(','));
if (selecionado != -1)
selecionados += selecionado + ',';
});
var arr = selecionados.split(',');
$("#cursos li select").each(function (i, item) {
var virgula = $(item).val().indexOf(',');
var valor = $(item).val().substr(0, virgula);
var curso = $(item).val().substr(virgula, select.val().length);
if ($(item).val() != select.val()) {
var valorAnterior = $(item).val();
if (valor == -1) {
var options = "<option value='-1," + curso + "'></option>";
for (i = 1; i <= numeroCursosDisponiveis; ++i) {
if (valorSelecionado != i && !contains(i, selecionados)) {
options += "<option value='" + i + "," + curso + "'>Opção " + i + "</option>";
}
}
options += "<option value='0," + curso + "'>Não quero</option>";
$(item).children("option").remove();
$(item).html(options);
$(item).val(valorAnterior);
}
}
});