recherche

Maison  >  Questions et réponses  >  le corps du texte

Utilisation de jQuery : ajouter une valeur d'index de tableau à la sortie

Je suis nouveau sur jQuery et JavaScript.

Réussi à faire fonctionner le code suivant, en ajoutant un nouveau champ de saisie de texte basé sur le numéro sélectionné par l'utilisateur dans le champ de sélection déroulant (précédent).

<script>
$(function() {

  var input = $('<input placeholder="输入名称或标题..." type="text" required/>');
  var newFields = $('');

  $('#qty').bind('blur keyup change', function() {
    var n = this.value || 0;
    if (n + 1) {
      if (n > newFields.length) {
        addFields(n);
      } else {
        removeFields(n);
      }
    }
  });

  function addFields(n) {
    for (i = newFields.length; i < n; i++) {
      var newInput = input.clone();
      newFields = newFields.add(newInput);
      newInput.appendTo('#newFields');
    }
  }

  function removeFields(n) {
    var removeField = newFields.slice(n).remove();
    newFields = newFields.not(removeField);
  }
});
</script>

Cependant, dans <input placeholder="输入主题或标题..." type="text" required/>, je souhaite ajouter deux propriétés/paramètres pour chaque champ ajouté :

  1. Le premier est name="subject1", name="subject2"et ainsi de suite, pour chaque champ de saisie

Par exemple, l'étiquette d'entrée de sortie pour le premier champ doit être <input placeholder="输入主题或标题..." type="text" name="subject1" required/>

  1. Le deuxième est le titre du champ ("Sujet 1", "Sujet 2", etc.), juste avant la balise <input> Par exemple, l'étiquette d'entrée de sortie pour le premier champ doit être "Subject 1: <input placeholder="输入主题或标题..." type="text" name="subject1" required/>"

Comment implémenter cette fonction ?

P粉567112391P粉567112391558 Il y a quelques jours883

répondre à tous(1)je répondrai

  • P粉262113569

    P粉2621135692023-09-17 00:35:21

    C'est un moyen d'ajouter des attributs de titre et de nom au thème.

    Vous pouvez le faire en utilisant la concaténation de chaînes, en utilisant des variablesi.

    $(function() {
      $('#qty').bind('blur keyup change', function() {
        var n = this.value || 0;
        createFields(n)
      });
    
      function createFields(n) {
        $("#newFields").empty(); //清空字段列表
    
        for (var i = 1; i <= n; i++) {
          var fieldWrapper = $('<div class="fieldwrapper"/>'); //创建包装器
          var name = $("<p>主题 " + i + "</p>"); //创建主题标题
          var input = $('<input name="Subject' + i + '" placeholder="输入名称或标题..." type="text" required />'); //创建输入框
    
          fieldWrapper.append(name); //添加标题
          fieldWrapper.append(input); //添加输入框
          $("#newFields").append(fieldWrapper); //添加到列表中
        }
      }
    
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <input id="qty" type="number" />
    <div id="newFields">
    
    </div>

    répondre
    0
  • Annulerrépondre