我正在研究HTML- / PHP- / Jquery-App,并且遇到了jQuery的.each-return-Value的一些问题。
我有一个包含多个输入字段集的表单,如果需要,您可以添加另一个字段集:
<input id="plot1_id" type="hidden" value="2">
<input id="plot1_position" type="hidden" value="1">
<textarea id="plot1_txt" class="plot_entries">Entry number 1</textarea>
<input id="plot2_id" value="12">
<input id="plot2_position" type="hidden" value="2">
<textarea id="plot2_txt" class="plot_entries">Entry number 2</textarea>
<input id="plot3_id" value="545">
<input id="plot3_position" type="hidden" value="3">
<textarea id="plot3_txt" class="plot_entries">Entry number 3</textarea>
[etc.]
保存时 - jQuery使用
i=1;
$('.plot_entries').each( function() {
fieldsetAR.push( fieldsets(
$('#plot' + i + '_id').val(),
$('#plot' + i + '_position').val(),
$('#plot' + i + '_txt').val()
) );
i=i+1;
});
将每个输入字段分开以保存&#39;到数组并推送ajax&#39; s .load()。
我的问题: 我无法获得最后一个条目!最后一个或新添加的input-element不会在.each-function中注册为最后一个对象。
例如: 脚本返回的最后一个条目是
plot2_id = '2'
plot2_txt = 'Entry number 2'
而不是真实最后一个(plot3_id&amp; plot3_txt)......
我完全糊涂了 - 希望有人可以帮助我:/
E:仍然困惑但没有解决:( 还有其他想法吗?
答案 0 :(得分:1)
可能是因为您的i
从0开始。将其更改为以1开头
var i=1;
$('.plot_entries').each( function() {
fieldsetAR.push( fieldsets(
$('#plot' + i + '_id').val(),
$('#plot' + i + '_position').val(),
$('#plot' + i + '_txt').val()
) );
i=i+1;
});
答案 1 :(得分:1)
使用jQuery的索引参数而不是自己保留数字。
$('.plot_entries').each( function(i) {
++i;
fieldsetAR.push( fieldsets(
$('#plot' + i + '_id').val(),
$('#plot' + i + '_position').val(),
$('#plot' + i + '_txt').val()
));
});