Javascript 如何在数组中添加输入值
我只是想问一下在数组中添加数据的问题。但是我想输入的数据来自一个输入框表。。下面是我一直在练习获取数据的代码: 我有一个add按钮,每次单击该按钮时,它都会将数据存储在Javascript 如何在数组中添加输入值,javascript,arrays,json,Javascript,Arrays,Json,我只是想问一下在数组中添加数据的问题。但是我想输入的数据来自一个输入框表。。下面是我一直在练习获取数据的代码: 我有一个add按钮,每次单击该按钮时,它都会将数据存储在my_data变量中 我想在我的变量中生成如下输出: my_data = [ {plank:"1",thickness:"4",width:"6",length:"8",qty:"1",brdFt:"16"}] my_data = [ {plank:"1",thickness:"4",width:"6",length:"
my_data
变量中
我想在我的变量中生成如下输出:
my_data = [ {plank:"1",thickness:"4",width:"6",length:"8",qty:"1",brdFt:"16"}]
my_data = [ {plank:"1",thickness:"4",width:"6",length:"8",qty:"1",brdFt:"16"},
{plank:"2",thickness:"5",width:"6",length:"2",qty:"1",brdFt:"50"}]
如果我再次添加另一个数据,它会添加那个变量,它是这样的:
my_data = [ {plank:"1",thickness:"4",width:"6",length:"8",qty:"1",brdFt:"16"}]
my_data = [ {plank:"1",thickness:"4",width:"6",length:"8",qty:"1",brdFt:"16"},
{plank:"2",thickness:"5",width:"6",length:"2",qty:"1",brdFt:"50"}]
我现在的代码非常糟糕,所以请帮助我
当前我的输出:
1,4,6,4,1
迭代所有键,并添加值。
(由头脑编写的代码,未经测试)
var added={};
对于(var i=0;i
您可以使用:
您应该能够使用以下命令迭代所有文本框:
function add(e) {
var obj = {};
$('#addItem input[type="text"]')
.each(function(){obj[this.name] = this.value;});
myItems.push(obj);
}
其中,myItems
是项目的全局容器,#addItem
是表单
更新
如果您使用表单和提交按钮,那么您应该能够实现非JavaScript方法来添加您的信息,这样在未启用JavaScript的情况下,用户就可以访问该网站。对不起,我只浏览了其他解决方案
$(document).ready(function() {
var myData=[];
var myObject = {}
$("input").each(function() {
myObject[this.id]=this.value
});
alert(myObject["plank"])
myData.push(myObject)
});
尝试此操作,很抱歉修改了您的表单,但效果很好: HTML:
板材编号
宽度
长度
厚度
数量
Javascript:
$(document).ready(function() {
var plank_data = Array();
$('#add_plank_form').submit(function() {
// Checking data
$('#add_plank_form input[type="text"]').each(function() {
if(isNaN(parseInt($(this).val()))) {
return false;
}
});
var added_data = Array();
added_data.push(parseInt($('#plank_number').val()));
added_data.push(parseInt($('#plank_width').val()));
added_data.push(parseInt($('#plank_length').val()));
added_data.push(parseInt($('#plank_thickness').val()));
added_data.push(parseInt($('#plank_quantity').val()));
$('#add_plank_form input[type="text"]').val('');
plank_data.push(added_data);
// alert(JSON.stringify(plank_data));
// compute L x W x F for each plank data
var computed_values = Array();
$('#add_plank_result').html('');
for(var i=0; i<plank_data.length; i++) {
computed_values.push(plank_data[i][1] * plank_data[i][2] * plank_data[i][3] / 12);
$('#add_plank_result').append('<input type="text" name="plank_add[]" value="' + computed_values[i] + '"/>');
}
return false;
});
});
$(文档).ready(函数(){
var plank_data=Array();
$('add#plank_form')。提交(函数(){
//检查数据
$('#添加表格输入[type=“text”]”)。每个(函数(){
if(isNaN(parseInt($(this.val())){
返回false;
}
});
var added_data=Array();
添加了_data.push(parseInt($('#plank_number').val());
添加了_data.push(parseInt($('#plank_width').val());
添加了_data.push(parseInt($('#plank_length').val());
添加了_data.push(parseInt($('#plank_thickness').val());
添加了_data.push(parseInt($('#plank_quantity').val());
$('#添加表格输入[type=“text”]).val(“”);
plank_data.push(添加_数据);
//警报(JSON.stringify(plank_数据));
//计算每个板材数据的L x W x F
var计算值=数组();
$('#add_plank_result').html('');
对于(var i=0;我想知道答案,但我仍然不能使用它,因为我仍然不知道如何将我的输出作为json。也许我会使用这个,一旦我可以有一个json输出。我现在的输出是'1,4,6,4,1'。非常好。它非常有效,但我只是想知道如何获得“Test”:
然后扔掉它。@jayAnn:我已经更新了我的答案,以迭代表单中的每个文本框。它应该会产生你想要的结果。JSFIDLE也已经更新。用一堆加载的警报向你发送垃圾邮件是很烦人的。但我只是想知道如何添加一个输入框,其中包含来自上述数据结果的值。我想如果数组中有几个木板信息,如何计算值?我的意思是,如果数据是[{1,2,3,4,5},{7,8,9,4,4}]
,那么计算值将是[2,24]
?不,不是那样。我想在我的json中添加板英尺计算。它是这样的:[{“plank_-no”:“1”,“thickness”:“4”,“width”:“6”,“length_-t”:“8”,“qty”:“7”,“board_-ft”:“16”}]
。我想感谢你在这方面帮了我的大忙。我现在已经明白了。顺便说一句,Kaiser,你以前的代码真的帮了我的忙。这就是我现在使用的代码,但我的代码仍在一张桌子里:)。再次感谢你。
$(document).ready(function() {
var plank_data = Array();
$('#add_plank_form').submit(function() {
// Checking data
$('#add_plank_form input[type="text"]').each(function() {
if(isNaN(parseInt($(this).val()))) {
return false;
}
});
var added_data = Array();
added_data.push(parseInt($('#plank_number').val()));
added_data.push(parseInt($('#plank_width').val()));
added_data.push(parseInt($('#plank_length').val()));
added_data.push(parseInt($('#plank_thickness').val()));
added_data.push(parseInt($('#plank_quantity').val()));
$('#add_plank_form input[type="text"]').val('');
plank_data.push(added_data);
// alert(JSON.stringify(plank_data));
// compute L x W x F for each plank data
var computed_values = Array();
$('#add_plank_result').html('');
for(var i=0; i<plank_data.length; i++) {
computed_values.push(plank_data[i][1] * plank_data[i][2] * plank_data[i][3] / 12);
$('#add_plank_result').append('<input type="text" name="plank_add[]" value="' + computed_values[i] + '"/>');
}
return false;
});
});