2014-04-28 5 views
0

Ce sera probablement une question fictive mais je ne trouve pas de solution pour cela.Ajouter du texte au champ de saisie en utilisant le lien hypertexte de texte

Nous avons morceau de code:

<script type="text/javascript"> 
     $(function() { 
      $('.tags_select a').click(function() { 
       var value = $(this).text(); 
       var input = $('#text_tag_input'); 
       input.val(input.val() + value + ', '); 
       return false; 
      }); 
     }); 
</script> 

et HTML:

<input id="text_tag_input" type="text" name="tags" /> 

<div class="tags_select"> 
<a href="#">text1</a> 
<a href="#">text2</a> 
<a href="#">text3</a> 
</div> 

la question suit - lorsque je clique sur le lien text1, puis texte2 etc. tout semble en entrée. Ce que je veux réaliser est d'afficher seulement une variable (dans ce cas, le plus récent, dernier cliqué).

merci!

+0

Il est simple ... effacer l'entrée à chaque clic :) quelque chose comme input.val ('') avant d'ajouter la valeur si vous voulez toujours garder votre code;) – radubogdan

+0

La ligne 'input.val (entrée. val() + value + ','); 'dit littéralement" définir la valeur de l'entrée à la valeur d'entrée actuelle, plus la valeur sur laquelle on a cliqué. " Il fait ce que tu lui as dit. –

+1

Ou simplement 'input.val (value)' – Sanketh

Répondre

1

Cela devrait fonctionner pour vous

<script type="text/javascript"> 
    $(function() { 
     $('.tags_select a').click(function() { 
      $('#text_tag_input').val(""); 
      var value = $(this).text(); 
      var input = $('#text_tag_input').val(value); 
      return false; 
     }); 
    }); 
</script> 

<input id="text_tag_input" type="text" name="tags" /> 
<div class="tags_select"> 
    <a href="#">text1</a> 
    <a href="#">text2</a> 
    <a href="#">text3</a> 
</div> 
1

Utilisation:

input.val(value); 

au lieu de:

input.val(input.val() + value + ', '); 
1
input.val(input.val() + value + ', ') 

Qu'est-ce qui fait est de définir la valeur de votre entrée = (valeur actuelle de l'entrée + valeur cliquée + ',')

input.val(value) 

Le code ci-dessus définit simplement la valeur d'entrée à la valeur cliquée.


Cependant, si vous ne voulez pas enlever quoi que ce soit dans votre code, vous pouvez simplement ajouter

input.val('') avant d'appeler input.val(input.val() + value + ', ').

Questions connexes