少し状況があります。基本的に、選択ボックスの変更時に入力している JavaScript 配列に項目を追加しています。しかし、問題は、0 を入力すると、配列から削除する必要があることです。
ここにコードがあります
var addon = new Array();
function updateAddons(){
addon.length=0;
var plan = new Array;
var planQty = new Array;
plan.length=0;
planQty.length=0;
for(var j =0 ; j< 3; j++){
$("select[name='addon_"+j+"[]'] option:selected").each(function(){
var item = {
product_name : $(this).attr('pn'),
product_cost : $(this).attr('cost'),
product_id : $(this).val()
};
if(item.product_id != 0){
plan.push(item);
}
});
$("input[name='addonQty_"+j+"[]'] ").each(function(){
if($(this).val() != 0){
planQty.push($(this).val());
}
});
}
for(var i =0; i < plan.length; i++){
var item = {
product:plan[i],
product_qty:planQty[i]
}
if(item.product.product_id != 0){
addon.push(item);
}
}
}
jsfiddle を作成しました。ここをクリックして表示してください。(完全なオブジェクトについては、ブラウザ コンソールを確認してください。)
誰かが助けることができれば。そして、あなたの答えを説明してください。
よろしく