2010-06-04 4 views
0

J'ai ajouté un événement click à tous les éléments de la page et je souhaite maintenant envoyer l'élément cible cliqué à un serveur. Si l'élément cliqué a un ID, alors je peux simplement envoyer l'ID, mais si l'élément n'a pas d'ID, de classe, de nom, ..., alors comment puis-je envoyer un identifiant (ou un sélecteur) au serveur qui pointe vers cet élément précis?Comment convertir un objet jquery en chaîne JSON OU comment enregistrer un élément spécifique dans une chaîne?

J'ai essayé d'envoyer l'objet jquery.target lui-même. Cependant, cela entraîne une erreur "Uncaught TypeError: conversion de la structure circulaire en JSON" .

Existe-t-il un moyen de sérialiser un objet jquery ou de créer un sélecteur basé sur l'élément en cours?

+0

Avez-vous la possibilité de modifier la façon dont le HTML est généré? Si c'est le cas, je serais enclin à donner un identifiant à tous les éléments si vous avez besoin de le faire, mais je suis sûr qu'il existe de meilleurs moyens d'atteindre le problème que vous voulez résoudre. –

Répondre

0

au moins pour les éléments de forme que je réussi à obtenir une version de travail en créant une chaîne de sélection des parents de la cible, puis en ajoutant le type d'entrée et son attribut name, par exemple:

var target_selector = $(e.target).parents().map(function() { return this.tagName; }).get(); 
target_selector.reverse(); 
target_selector.push(e.target.tagName); 
target_selector = target_selector.join('>'); 
target_selector = target_selector + '[name=\'' + $(e.target).attr('name') + '\']'; 

Cela fait l'affaire à moins pour les éléments d'entrée. Pourquoi avez-vous besoin d'envoyer un identifiant à l'élément exact?

Questions connexes