Maison > Questions et réponses > le corps du texte
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é :
name="subject1", name="subject2"
et ainsi de suite, pour chaque champ de saisiePar exemple, l'étiquette d'entrée de sortie pour le premier champ doit être <input placeholder="输入主题或标题..." type="text" name="subject1" required/>
<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粉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>