JQuery: $('#id') funciona; $('#empresa.id') não funciona

JQuery: $(’#id’) funciona; $(’#empresa.id’) não funciona

Ou seja, se uso PONTO não funciona!!!

Alguém ajuda???

Só pra deixar claro, o id do meu componente é ‘empresa.id’

É passei por algo parecido esses dias. Eu precisava do valor do meu “objeto.id” para ser tratado via AJAX., e resolvi usando um class=“addUsuario” e id="$(usuario.id)"

No Jquery eu pegava o evento do class:

$(.addUsuario).click......
idUsuario = $(this).attr("id");

// aí eu usava o idUsuario pra fazer requisição via AJAX

Não sei se esse é seu problema mas…fica a dica.
Abraço

meu problema é em pegar o valor:

var val = $('#empresa.id').val();

retorna undefined
estou usando VRaptor e preciso que o id o input seja escrito com PONTO…

o que faço??

tente (’#empresa + id’)

não funciona tambem!!!

[quote=lauronolasco]meu problema é em pegar o valor:

var val = $('#empresa.id').val();

retorna undefined
estou usando VRaptor e preciso que o id o input seja escrito com PONTO…

o que faço??[/quote]
Então, meu problema tbm era pegar o valor e tbm uso o Vraptor. Vc pode passar o valor do id assim => id="$(empresa.id)"
Dessa forma vc não precisa fazer id=“empresa.id” no seu input. Pq com ponto não funciona mesmo.

Usa um class como auxiliar. Chama o evento do class e pega o valor do atributo (que veio do VRaptor) que está no id

acho que vou optar pelo velho document.getElementById()

Soh pra nao ficar obscuro o topico e parecer que eh um bug do JQuery ou algo do tipo e ajudar pesquisas futuras, o motivo para isso nao funcionar eh o seguinte:

No JQuery o . (ponto) eh um seletor para procurar elementos com determinado class.

Tem um disclaimer bem grandao no parte de seletores do JQuery:

http://api.jquery.com/category/selectors/

[]'s

<input … name=“empresa.id” id=“id”/>

não sei se é a forma ideal, mas assim não resolve?

Acho que voce tem que mudar o ID do componete. Não deve usar o ponto (.) no nome.

Tente colocar empresa_id ou id_empresa.

http://docs.jquery.com/Frequently_Asked_Questions#How_do_I_select_an_element_by_an_ID_that_has_characters_used_in_CSS_notation.3F

Agora estou precisando de ajuda com o Spring…
Quero mudar o separador “.” para “_”…

Estou utilizando o vraptor…
Em vez de usar o input “classe.atributo” no html, usar “classe_atributo”.

Alguém ajuda??

Resposta:

É só escapar com \ o caracter especial, no próprio site da API de seletores do jQuery fala isso, http://api.jquery.com/category/selectors/.

$('#empresa\\.id')

At.,

obrigado amigo…
eu havia resolvido assim:
$(document.getElementById(‘empresa.id’))

o q nao é ‘correto’…
mas funcionava!!

valeu mesmo…

[quote=lauronolasco]obrigado amigo…
eu havia resolvido assim:
$(document.getElementById(‘empresa.id’))

o q nao é ‘correto’…
mas funcionava!!

valeu mesmo…[/quote]

se vc estiver usando JSF no projeto tem que usar o JQuery mesmo …