我序列化一个数组和控制台记录数组的所有值。我需要两次单击一个值才能获得正确的值。几个星期前我已经开始编程了,所以在评价这个问题时请记住这一点。谢谢!
$(function() {
var sir = <?php print_r(json_encode($listings));?>;
$('.btn-group label').click(function() {
// Get all inputed data
var data = $('form.purchase-form').serializeArray();
console.log(data);
input = [];
// Make new array of wanted values
for (var i = 0; i < data.length; i++) {
if (data[i].name !== "_token" && data[i].name !== 'item_id' && data[i].name !== 'condition' && data[i].name !== 'payment') {
input.push(data[i].value);
}
}
console.log(input);
});
});
例如,我们假装这是一个表格:
&#34; B在第一次点击时被选中&#34;:
B C
- &GT;记录B
&#34; C仍然在第二次点击时被选中&#34;:
A B C
- &GT;记录B
控制台日志示例:
0:对象 名称:&#34; _token&#34;, 价值:&#34; MDGsfUfgYIMzd8ETvGaA9tbGlsh6hSchPxWjhNiQ&#34;
答案 0 :(得分:0)
您的if语句必须不正确,并且在您预期时它不会评估为true。当你没有显示你正在处理的数据时,基本上不可能帮助解决这个问题,因为if条件明确与此相关联。
我会在下面添加类似的内容。
console.log(data);
console.log(data[i].name !== "_token" && data[i].name !== 'item_id' && data[i].name !== 'condition' && data[i].name !== 'payment')
这将帮助您了解if语句,数据或假设的不正确之处!
修改
如果这是你运行的唯一输出,那么你的if检查将会失败,并且你永远不会在输入变量中输入任何东西。
比较data[i].name !== "_token"
为false
0: Object name: "_token", value: "MDGsfUfgYIMzd8ETvGaA9tbGlsh6hSchPxWjhNiQ"