【发布时间】:2018-04-26 11:11:52
【问题描述】:
问题是在每个按钮单击时都会创建一个新数组。是否可以将所有按钮值存储到单个数组中?这怎么可能。可以看here
我在点击事件时通过 ajax 将该数组解析为 PHP,如下所示:
$('#validate').click(function(e) {
$.ajax({
type: "POST",
url: "somephp.php",
dataType: "json",
data: {
UserInput:items
},
})
});
var items = [];
$("#button-list button").each(function(index) {
var toggle = false;
$(this).on("click", function() {
toggle = !toggle;
if (toggle === true)
items.push(this.value);
else
items.splice(items.indexOf(this.value), 1);
console.log(items);
$("#results").text(items);
$(this).toggleClass("btn-default btn-success").find('span').toggleClass("glyphicon-plus glyphicon-minus");
});
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
<div id="button-list">
<button type="button" class="btn btn-default btn-sm" value="(1,1)">
<span class="glyphicon glyphicon-plus"></span> (1,1)</button>
<button type="button" class="btn btn-default btn-sm" value="(3,2)">
<span class="glyphicon glyphicon-plus"></span> (3,2)</button>
<button type="button" class="btn btn-default btn-sm" value="(4,4)">
<span class="glyphicon glyphicon-plus"></span> (4,4)</button>
</div>
<p id="results"></p>
【问题讨论】:
-
那么你到底想要什么输出?我看到单个数组包含所有数据。我认为您会因为 console.log() 一次又一次地打印而感到困惑
-
输出是每个按钮的
value。每个按钮单击都应该被推入一个数组中。当再次单击同一个按钮时,它应该从数组中删除。像我的代码一样,但在一个数组中 -
我认为您因为
console.log()一次又一次地打印而感到困惑。它工作正常 -
@AlivetoDie 看我添加的图片。
-
据我所知,您正在将 Javascript 数组变量解析到服务器端,对吗?您能解释一下如何将该变量解析到服务器吗?
标签: javascript php jquery arrays