我是jQuery和JavaScript的新手。
設(shè)法使以下代碼工作,根據(jù)用戶從(先前的)下拉選擇字段中選擇的編號添加新的文本輸入字段。
<script> $(function() { var input = $('<input placeholder="輸入名稱或標(biāo)題..." 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>
然而,在<input placeholder="輸入主題或標(biāo)題..." type="text" required/>
中,我想為每個(gè)添加的字段添加兩個(gè)屬性/參數(shù):
name="subject1", name="subject2"
等等,對于每個(gè)輸入字段例如,第一個(gè)字段的輸出輸入標(biāo)簽應(yīng)為<input placeholder="輸入主題或標(biāo)題..." type="text" name="subject1" required/>
<input>
標(biāo)簽之前
例如,第一個(gè)字段的輸出輸入標(biāo)簽應(yīng)為“Subject 1: <input placeholder="輸入主題或標(biāo)題..." type="text" name="subject1" required/>
”請問如何實(shí)現(xiàn)這個(gè)功能?
這是一種添加主題標(biāo)題和名稱屬性的方法。
您可以使用字符串連接來實(shí)現(xiàn),使用變量i
。
$(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"/>'); //創(chuàng)建包裝器 var name = $("<p>主題 " + i + "</p>"); //創(chuàng)建主題標(biāo)題 var input = $('<input name="Subject' + i + '" placeholder="輸入名稱或標(biāo)題..." type="text" required />'); //創(chuàng)建輸入框 fieldWrapper.append(name); //添加標(biāo)題 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>