使用 jQuery,我正在尝试创建一个表单,从中获取每个字段中输入的值并在提交时生成一个表。出于某种原因,我似乎无法传递正确的变量。
这是相关的HTML:
<form id="myform">
<ul id="pq_entry_1" class="clonedSection">
<li><input id="name_1" name="name_1" value="name1" type="text" /></li>
<li><input id="init_1" name="init_1" value="1" type="number" min="-100" max="100"/></li>
</ul>
<ul id="pq_entry_2" class="clonedSection">
<li><input id="name_2" name="name_2" value="name2" type="text" /></li>
<li><input id="init_2" name="init_2" value="1" type="number" min="-100" max="100"/></li>
</ul>
<ul id="pq_entry_3" class="clonedSection">
<li><input id="name_3" name="name_3" value="name3" type="text" /></li>
<li><input id="init_3" name="init_3" value="1" type="number" min="-100" max="100"/></li>
</ul>
<input id="submit" type="submit" value="Submit" name="submit">
</form>
<table>
<thead>
<th>Character</th>
<th>Initiative</th>
</thead>
<tbody id="results">
</tbody>
</table>
</body>
和 jQuery 脚本:
$(document).ready(function(){
$('#myform').submit(function() {
$('.clonedSection').each(function() {
var stname = $('input[type=text]').val();
var stinit = $('input[type=number]').val();
$('#results').append('<tr><td>'+stname+'</td><td>'+stinit+'</td></tr>');
});
return false;
});
});
...它正在运行,它现在的工作方式:http: //jsfiddle.net/KredH/
您可以看到“提交”的预期行为是列出所有字段内容(默认情况下,name1、name2、name3...),但它只列出第一个块中的内容。
任何帮助,将不胜感激。