Jquery 我想把元素推入数组
我想得到所有有值的输入字段都采用这种格式Jquery 我想把元素推入数组,jquery,arrays,Jquery,Arrays,我想得到所有有值的输入字段都采用这种格式 "name": [{ "id": 3, "qty": 2 }, { "id": 4, "qty": 5 }] 我的脚本 $("#qty-"+item.id).keyup(function(){ var qty = $("#qty-"+item.id).val(); var price = $("#price-"+item.id
"name": [{
"id": 3,
"qty": 2
}, {
"id": 4,
"qty": 5
}]
我的脚本
$("#qty-"+item.id).keyup(function(){
var qty = $("#qty-"+item.id).val();
var price = $("#price-"+item.id).val();
var ids = $("#ids-"+item.id).val();
var total = qty * price;
$("#amount-"+item.id).val(total);
var obj={};
var name = [];
obj.id = ids;
obj.qty = qty;
name.push(obj);
console.log(name);
/* Sum of Total of all amount */
var add = 0;
$(".amount").each(function() {
add += Number($(this).val());
});
console.log(add);
$("#aproxTotal").text("Aprox Total is : " + add);
/* Sum of Total of all amount */
});
0:
id:"14"
qty:"1"
<div id="price-calculation-view">
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Newspaper" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-3" value="9" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-3" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-3" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-3" value="3" readonly="" class="form-control"></div>
</div>
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Cardboards (flattened)" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-4" value="5" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-4" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-4" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-4" value="4" readonly="" class="form-control"></div>
</div>
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Glass Bottles (Unbroken)" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-5" value="0.4" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-5" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-5" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-5" value="5" readonly="" class="form-control"></div>
</div>
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Plastic bottles" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-6" value="11" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-6" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-6" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-6" value="6" readonly="" class="form-control"></div>
</div>
</div>
在控制台中,我只以这种方式获得了最后一个enter值
输出
$("#qty-"+item.id).keyup(function(){
var qty = $("#qty-"+item.id).val();
var price = $("#price-"+item.id).val();
var ids = $("#ids-"+item.id).val();
var total = qty * price;
$("#amount-"+item.id).val(total);
var obj={};
var name = [];
obj.id = ids;
obj.qty = qty;
name.push(obj);
console.log(name);
/* Sum of Total of all amount */
var add = 0;
$(".amount").each(function() {
add += Number($(this).val());
});
console.log(add);
$("#aproxTotal").text("Aprox Total is : " + add);
/* Sum of Total of all amount */
});
0:
id:"14"
qty:"1"
<div id="price-calculation-view">
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Newspaper" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-3" value="9" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-3" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-3" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-3" value="3" readonly="" class="form-control"></div>
</div>
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Cardboards (flattened)" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-4" value="5" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-4" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-4" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-4" value="4" readonly="" class="form-control"></div>
</div>
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Glass Bottles (Unbroken)" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-5" value="0.4" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-5" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-5" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-5" value="5" readonly="" class="form-control"></div>
</div>
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Plastic bottles" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-6" value="11" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-6" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-6" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-6" value="6" readonly="" class="form-control"></div>
</div>
</div>
如何获得所有文件只有价值。如果我使用每个函数,它将显示所有甚至空字段
下面给出的我的HTML
$("#qty-"+item.id).keyup(function(){
var qty = $("#qty-"+item.id).val();
var price = $("#price-"+item.id).val();
var ids = $("#ids-"+item.id).val();
var total = qty * price;
$("#amount-"+item.id).val(total);
var obj={};
var name = [];
obj.id = ids;
obj.qty = qty;
name.push(obj);
console.log(name);
/* Sum of Total of all amount */
var add = 0;
$(".amount").each(function() {
add += Number($(this).val());
});
console.log(add);
$("#aproxTotal").text("Aprox Total is : " + add);
/* Sum of Total of all amount */
});
0:
id:"14"
qty:"1"
<div id="price-calculation-view">
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Newspaper" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-3" value="9" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-3" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-3" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-3" value="3" readonly="" class="form-control"></div>
</div>
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Cardboards (flattened)" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-4" value="5" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-4" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-4" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-4" value="4" readonly="" class="form-control"></div>
</div>
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Glass Bottles (Unbroken)" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-5" value="0.4" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-5" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-5" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-5" value="5" readonly="" class="form-control"></div>
</div>
<div id="price_calculation">
<div class="col-lg-2 main"><input type="text" value="Plastic bottles" readonly="" class="form-control"></div>
<div class="col-lg-2 main"><input type="text" name="price" id="price-6" value="11" readonly="" class="form-control" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" value="" name="qty" id="qty-6" class="form-control qty" onkeypress="return isNumber(event)"></div>
<div class="col-lg-2 main"><input type="text" name="amount" id="amount-6" value="" readonly="" class="form-control amount" onkeypress="return isNumber(event)"></div>
<div class="col-lg-3 main"><input type="text" name="id" id="ids-6" value="6" readonly="" class="form-control"></div>
</div>
</div>
值是从api动态提交的,如何实现这一点???问题是您持有的var哈希数组不是全局的,因此每次执行var name=[]时,它都会重置它 将var name=[]置于keyup函数外部
var name = [];
$("#qty-"+item.id).keyup(function(){
var qty = $("#qty-"+item.id).val();
var price = $("#price-"+item.id).val();
var ids = $("#ids-"+item.id).val();
var total = qty * price;
$("#amount-"+item.id).val(total);
var obj={};
obj.id = ids;
obj.qty = qty;
name.push(obj);
console.log(name);
/* Sum of Total of all amount */
var add = 0;
$(".amount").each(function() {
add += Number($(this).val());
});
console.log(add);
$("#aproxTotal").text("Aprox Total is : " + add);
/* Sum of Total of all amount */
});
看小提琴,你只需要调整它 请提供html代码也为更好的答案。链接:这有点难理解,因为我认为这是语言障碍。请详细说明并展示示例。检查我更新的问题对不起,我弄错了,这是键控功能。我会编辑。仍然一样,只是它不会显示所有输入的值,它只会显示当前值。JAX只会返回文本框的值。这是一样的,您正在初始化add inside keyup函数。所有需要传播的信息都需要在函数外部初始化。如何在函数外部使用并以该格式获取所有值