Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dataset

[Resolvido] Várias ID's - Como saber sobre qual estou clicand

Recommended Posts

Prezados, bom dia;

 

Tenho varias ComboBox, cada uma com um ID diferente:

 

id="TurmaPresencaEntidade210"

id="TurmaPresencaEntidade180"

id="TurmaPresencaEntidade30"

id="TurmaPresencaEntidade15"

 

As combos são montados pelo .load(), ou seja pra rodar o onchange tenho que usar o .live

 

Então fiz assim:

jQuery('#TurmaPresencaEntidade210').live('change', function () {
});

 

Pra primeira combo funciona, pois o nome to usando ali no .live()

 

Mas eu tenho várias... vou ter que criar .live() fixo um pra cada DIV ?

 

O problema é que essas combos são dinâmicas, pode ter uma ou várias.

 

Como fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça por classes.

 

 

jQuery('.turma').live('change', function () {

Compartilhar este post


Link para o post
Compartilhar em outros sites

William Não tem outra maneira ?

 

Eu uso a mesma classe pra todas as combos do sistema. Inclusive pra outras funcionalidades como cidades e estados. Ou seja, não tem haver com a chamada.

 

Eu teria que criar classes pra cada operação.

 

Imagina o tamanho do CSS

 

você sabe uma outra maneira de fazer isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não pode criar uma classe do tipo: js-turma para usar somente nos combos dessa chamada ?

 

Note que você não deve usar essa class no css. Apenas no js.

 

 

 

 

 

Existe ainda uma outra possibilidade, que seria o seletor atributo.

Selecionando todos os IDs:

id="TurmaPresencaEntidade[0-9]+"

 

 

Mas não acho essa uma forma "bonita". Por isso te sugiro criar uma classe apenas para as chamadas, e usar elas apenas para o js.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, sim... quando me referi que o CSS vai ficar grande é que terei que criar várias classes pois tenho muitas combos no meu sistema.

 

Daí imagina só o tanto de classes no CSS

 

Pensei em pegar pelo pedaço do nome do ID... $("input[name^='TurmaPresencaEntidade]");

 

Pra usar pra combobox daí não é input ne ??? Conforme medelinho acima.

 

O que você acha ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, essa é a segunda opção que eu dei. Mas não acho ela legal.

 

Prefiro fazer com classes. Não vai alterar absolutamente nada no css.

Apenas vai adicionar mais um seletor no elemento no html.

 

<select class="estilo-combo js-turma">

e pronto. Não há nada demais nisso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Daí fica assim ?

 

ComboBoxs:

<select name="TurmaPresencaEntidade210" id="TurmaPresencaEntidade210" class="camposelect js-turma" style="width:120px">[OptionsTurmas]</select>
<select name="TurmaPresencaEntidade180" id="TurmaPresencaEntidade180" class="camposelect js-turma" style="width:120px">[OptionsTurmas]</select>
<select name="TurmaPresencaEntidade30" id="TurmaPresencaEntidade30" class="camposelect js-turma" style="width:120px">[OptionsTurmas]</select>
<select name="TurmaPresencaEntidade15" id="TurmaPresencaEntidade15" class="camposelect js-turma" style="width:120px">[OptionsTurmas]</select>

 

O jQuery:

jQuery('.camposelect js-turma').live('change', function () {
window.alert('rodou...');
});

 

Estou tentando aqui... valeu

 

Ok... deu certo...

jQuery('.js-turma').live('change', function () {
       window.alert('rodou...');
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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