如何將資料添加到陣列?我有一些選項的表單輸入,我使用按鈕添加更多來添加部分表單輸入。我想讓已選擇的選項不顯示在索引的其余部分中。例子 :
- 索引 0 我選擇了 G05B-IA1
- 索引 1 我選擇了 G05B-IA2
- 索引 2 我選擇了 G05B-IA3
我將它存盤在一個陣列中。我想要這樣的結果 [G05B-IA1,G05B-IA2,G05B-IA3] 但是,我得到的結果是 ['G05B-IA2', 'G05B-IA2', 'G05B-IA2']

我的 Jquery 代碼
$(document).on('change', '.slot_id', function(){
cekslotid = $(this).val();
console.log(cekslotid);
});
$(document).on('change', '.warehouse2', function(){
var warehouseid = $(this).val();
let idtarget = $(this).data('idtarget');
let cektarget = idtarget - 1;
let slotid1 = $("#slot_id").val();
let slotid2 = $("#slot_id" cektarget '').val();
let data = [slotid1];
$('.slot_id').each(function() {
data.push($(cekslotid).val());
});
console.log(data);
我的 HTML 視圖
<div class="add-more-pallet">
<div class="row">
<div class="col-md-6">
<label>Pilih Gudang : </label>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-warehouse"></i></span>
</div>
<select class="form-control" id="warehouse" required>
<option value="">-- Pilih Gudang --</option>
@foreach($warehouse as $row)
<option value="{{ $row->id_warehouse }}">{{ $row->warehouse_name }}</option>
@endforeach
</select>
</div>
</div>
<div class="col-md-5">
<label>Pilih Pallet : </label>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-pallet"></i></span>
</div>
<select class="form-control slot_id" id="slot_id" name="slot_id[]" required><option value="">-- Pilih Pallet --</option></select>
</div>
</div>
我在 Jquery 中的 HTML
'<div >'
'<label>Pilih Gudang : </label>'
'<div >'
'<div >'
'<span ><i ></i></span>'
'</div>'
'<select data-idtarget="' i '" required>'
'<option value="">-- Pilih Gudang --</option>'
'<option value="G05B">Gudang 05 B</option>'
'<option value="G09">Gudang 09</option>'
'</select>'
'</div>'
'</div>'
'<div >'
'<label>Pilih Pallet : </label>'
'<div >'
'<div >'
'<span ><i ></i></span>'
'</div>'
'<select id="slot_id' i '" name="slot_id[' i ']" data-idtarget="' i '" required><option value="">-- Pilih Pallet --</option></select>'
'</div>'
'</div>'
我的代碼有什么問題?為什么存盤在陣列中的值變成 double ?
uj5u.com熱心網友回復:
您一遍又一遍地推動相同的值,您在此處設定的值
$(document).on('change', '.slot_id', function(){
cekslotid = $(this).val();
});
這是一個作業方法
let data = $('.slot_id').map(function() { return this.value }).get();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/359824.html
