函数只保存并打印数组中的一个值。如何解决?
Posted
技术标签:
【中文标题】函数只保存并打印数组中的一个值。如何解决?【英文标题】:Function saves and prints only one value from array. how it can be fixed? 【发布时间】:2017-02-04 12:45:36 【问题描述】:我有一个功能,可以让我将丢弃的项目保存在表单内的循环中。这是sample,有两个进程。我想要做的是在提交表单后在下一页打印保存的值。
因此,主要思想是,在第一个表单上选择进程数后,用户继续进入第二个表单,在那里他可以为循环中的每一行删除项目。然后他可以通过按保存按钮提交它,系统应该打印每个进程的保存值。 我找到了一种方法来打破每个进程的数组使用这个:
var LISTOBJ =
saveList: function()
$(".proc").each(function()
var listCSV = [];
$(this).find("li").each(function()
listCSV.push($(this).text());
);
$("#output").append("<p>"+listCSV.join(", ")+"</p>");
//$(".hiddenListInput").val(listCSV);
console.debug(listCSV);
);
它工作正常,它打印每个进程的保存值列表,但是当我使用$(".hiddenListInput").val(listCSV);
提交表单后尝试在新页面上打印它时,它只显示最后保存的值。
这是我的表格:
<form class="formcss" method="POST" action="test2.php">
<?php
$len=2;
for($y=0;$y<$len;$y++)
?>
<div class='proc'>
<label>Process:</label>
<span> </span>
<br />
<div class="leader">
<label>Leader:</label>
<div class="ui-widget-content">
<div class="projLeader">
<ol>
<li class="placeholder" name="leader[]"></li>
<input type="hidden" name="leader[]" class="hiddenListInput" />
</ol>
</div>
</div>
</div>
</div>
<?php
?>
<div class="row">
<input type="submit" id="savebutton" style="margin-top:25px;" name="submit" class="button" value="Save" onclick="userSubmitted = true;" />
</div>
<div id="output"></div>
</form>
和 test2.php 我要打印保存的数组:
$procleader=$_POST['leader'];
print_r ($procleader);
【问题讨论】:
【参考方案1】:好的,我在函数中添加了隐藏输入,它帮助了我。这是我所做的:
var LISTOBJ =
saveList: function()
$(".proc").each(function()
var listCSV = [];
$(this).find("li").each(function()
listCSV.push($(this).text());
);
var values = '"'+listCSV.join('","')+'"';
$(".procChecker").append("<input type='hidden' name='prodstuff[]' value='+values+' />");
$("#output").append("<p>"+values+"</p>");
console.debug(listCSV);
);
还有fiddle
【讨论】:
以上是关于函数只保存并打印数组中的一个值。如何解决?的主要内容,如果未能解决你的问题,请参考以下文章
将所有数据保存在数组中,过滤掉重复的数据,比较数组之间的数据并删除匹配的数据