2010-07-17 6 views
1

Je cherche de l'aide. J'ai trouvé ce script qui résout mon problème à 50% - Je veux cliquer sur un mot et supprimer le mot en utilisant jquery similaire à l'exemple ci-dessous. Si vous utilisez l'exemple ci-dessous, le mot sur lequel vous cliquez sera surligné.Supprimer un mot sur clic avec Jquery et Regex

<!DOCTYPE html> 
<html> 
<head> 
    <style> 
    p { color:blue; font-weight:bold; cursor:pointer; } 
    </style> 
<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script></head> 
<body> 

<p> 
    Once upon a time there was a man 
    who lived in a pizza parlor. This 
    man just loved pizza and ate it all 
    the time. He went on to be the 
    happiest man in the world. The end. 
</p> 
<script> 
    var words = $("p:first").text().split(" "); 
    var text = words.join("</span> <span>"); 
    $("p:first").html("<span>" + text + "</span>"); 
    $("span").click(function() { 
    $(this).css("background-color","yellow"); 
    }); 
</script> 
</body> 
</html> 

Comment supprimer/supprimer le mot en cliquant dessus.

J'ai également trouvé cet exemple pour remplacer un mot par un mot.

var el = $('#id'); 
el.html(el.html().replace(/word/ig, "")); 

Est-ce qu'il ya quelqu'un qui peut aider à me attacher ensemble de sorte que lorsque je clique sur le mot remplace le mot. Il peut également remplacer le mot avec quelque chose comme [Supprimer] et je peux le supprimer avec une regex sur un formulaire de soumission?

Ok j'ai en quelque sorte pensé à elle en remplaçant

$("span").click(function() { 
     $(this).css("background-color","yellow"); 
     }); 

$("span").click(function() { 
    $(this).remove(); 
    }); 

Cela me amène à la question suivante. Comment puis-je mettre à jour les résultats dans un champ de texte de formulaire?

exemple Mise à jour de la pointe ci-dessous

<form id="form1" name="form1" method="post" action="spin1.php"> 
    <p><%=(Recordset1.Fields.Item("g_article_desc_spin").Value)%></p> 
<textarea name="myfield" id="myfield" onFocus="this.blur();" cols="45" rows="5"></textarea> 
<script> 
    var words = $("p:first").text().split(" "); 
    var text = words.join("</span> <span>"); 
    $("p:first").html("<span>" + text + "</span>"); 
$("span").click(function() { 
    $('myfield').val($(this).remove().parent('p').text()); 
}); 
</script> 
     <input type="submit" name="button" id="button" value="Submit" /> 
    </form> 

Je ne suis toujours pas sûr de savoir comment mettre à jour la valeur myfield

Répondre

2

Quand vous dites « mettre à jour les résultats à un champ de texte de forme » Voulez-vous dire que vous voulez le mot supprimé pour aller à un champ de texte de formulaire ou le paragraphe résultant après que le texte a été supprimé? Si l'ancien:

$("span").click(function() { 
    $('#myfield').val($(this).remove().text()); 
}); 

modifier - voir commentaire ci-dessous Dans ce dernier cas:

$("span").click(function() { 
    var $p = $(this).parent('p'); 
    $(this).remove(); 
    $('#myfield').val($p.text()); 
}); 
+0

Merci Carpie J'ai mis à jour la question avec ce dernier exemple. Je ne sais toujours pas comment mettre à jour le champ myfield pour mettre à jour le texte dans la zone de texte .... dois-je mettre un événement onclick sur la zone de texte? –

+0

Juste vérifié le 1er échantillon que vous avez fourni, il met à jour le champ de texte avec le mot que j'ai cliqué sur et supprime le mot du paragraphe. Le deuxième exemple supprime cependant le mot dans les balises

mais ne met pas à jour le champ de texte dans le formulaire. –

+1

Oups. J'ai eu un problème d'ordre de fonctionnement. Je supprimais l'élément avant d'obtenir son parent. J'ai mis à jour l'exemple. Voyez si cela fonctionne pour vous. – carpie

Questions connexes