У меня есть массив со значениями:
[1,2,3,4,5,6,7,8,9]
, если активируется изменением выбора опции, скажем, я выбираю опцию, значение которой равно « istirahat » во 2-й строке, затем становится пустой строкой, но после пустой строки число сохраняется в последовательности, как на моем скриншоте:
![enter image description here](https://i.stack.imgur.com/C3eHL.png)
в этом случае это решается с помощью этой функции:
function add(array, index, value) {
array.splice(index, 0, value);
}
функция выше работает так, как я ожидал:
1
-
2
3
4
5
6
7
8
НО у меня новый случай, что если я выберу опцию со значениями " pelajaran ", то пропущенное число вернется и заменит пустую строку, я попробую этот скрипт:
$(document).on('change','.jenis_mapel', function(event) {
event.preventDefault();
if ($(this).val() == "istirahat") //get val of select option (istirahat condition)
{
add(arr,index,'')
var col1;
var num = 0;
$('.tb_senin tr').find('td:eq(0)').each(function() { //loop the arr value to first column (jam ke column)
col1 = $(this).text(arr[num]);
num++;
});
console.log(arr);
}
else //(other condition, that the number should be back)
{
var tbRow = $('.tb_senin tr').length - 1;
if (arr[index] == "") {
arr.splice(index, 1);
}
console.log(arr);
}
});
Ошибка, когда я выбираю " istirahat " во 2-й строке и 3-й строке, массив будет выглядеть так:
[1, " "," ", 2, 3, 4, 5, 6, 7, 8, 9]
когда я удалил индекс 1, это стало так (что я выбрал вариант pelajaran во 2-м ряду, индекс 1 ар луч): [1, "", 2, 3, 4, 5, 6, 7, 8, 9]
Какой результат я ожидал получить следующим образом:
1
2
""
3
4
5
6
7
8
Кто-нибудь может мне помочь?