Здесь у меня есть проблема с использованием Choice.js, где данные, выбранные в первом раскрывающемся списке, все еще появляются в других раскрывании. Здесь я добавил функцию раскрывающегося обновления в других функциях, результаты все же. Данные по -прежнему появляются во всех раскрывающихся времени, даже если они были выбраны < /p>
Я использую выбор. Может быть, есть варианты, отличные от выбора.function initChoicesOnNewSelect(selectElement) {
if (!$(selectElement).hasClass('choices-initialized')) {
new Choices(selectElement, {
searchEnabled: false,
itemSelectText: '',
});
$(selectElement).addClass('choices-initialized');
}
}
function updateDropdownOptions() {
var selectedValues = [];
// Ambil semua nilai yang sudah dipilih di dropdown
$('.gejala-select').each(function() {
var selectedValue = $(this).val();
if (selectedValue !== "") {
selectedValues.push(selectedValue);
}
});
$('.gejala-select').each(function() {
var currentSelect = $(this);
var currentValue = currentSelect.val();
currentSelect.find('option').each(function() {
var optionValue = $(this).val();
if (optionValue !== "" && selectedValues.includes(optionValue) && optionValue !== currentValue) {
$(this).prop('disabled', true);
} else {
$(this).prop('disabled', false);
}
});
});
$(".gejala-wrapper").each(function(index) {
if (index === 0) {
$(this).find(".btn-hapus-gejala").hide();
} else {
$(this).find(".btn-hapus-gejala").show();
}
});
}
$(document).ready(function() {
$(".btn-tambah-gejala").click(function() {
var newDropdown = `
Pilih Gejala
@foreach($gejala_list as $gejala)
{{ $gejala->nama_gejala }}
@endforeach
Hapus
`;
$("#gejala-container").append(newDropdown);
let newSelect = $("#gejala-container .gejala-select").last()[0];
initChoicesOnNewSelect(newSelect);
updateDropdownOptions();
});
$(document).on("click", ".btn-hapus-gejala", function() {
if ($('.gejala-wrapper').length > 1) {
$(this).closest(".gejala-wrapper").remove();
updateDropdownOptions();
}
});
$(document).on('change', '.gejala-select', function() {
updateDropdownOptions();
});
$(".gejala-select").each(function() {
initChoicesOnNewSelect(this);
});
updateDropdownOptions();
});
Подробнее здесь: https://stackoverflow.com/questions/795 ... -choice-js
Я не могу удалить ранее выбранные данные в Choice.js [закрыто] ⇐ Javascript
Форум по Javascript
-
Anonymous
1744482754
Anonymous
Здесь у меня есть проблема с использованием Choice.js, где данные, выбранные в первом раскрывающемся списке, все еще появляются в других раскрывании. Здесь я добавил функцию раскрывающегося обновления в других функциях, результаты все же. Данные по -прежнему появляются во всех раскрывающихся времени, даже если они были выбраны < /p>
Я использую выбор. Может быть, есть варианты, отличные от выбора.function initChoicesOnNewSelect(selectElement) {
if (!$(selectElement).hasClass('choices-initialized')) {
new Choices(selectElement, {
searchEnabled: false,
itemSelectText: '',
});
$(selectElement).addClass('choices-initialized');
}
}
function updateDropdownOptions() {
var selectedValues = [];
// Ambil semua nilai yang sudah dipilih di dropdown
$('.gejala-select').each(function() {
var selectedValue = $(this).val();
if (selectedValue !== "") {
selectedValues.push(selectedValue);
}
});
$('.gejala-select').each(function() {
var currentSelect = $(this);
var currentValue = currentSelect.val();
currentSelect.find('option').each(function() {
var optionValue = $(this).val();
if (optionValue !== "" && selectedValues.includes(optionValue) && optionValue !== currentValue) {
$(this).prop('disabled', true);
} else {
$(this).prop('disabled', false);
}
});
});
$(".gejala-wrapper").each(function(index) {
if (index === 0) {
$(this).find(".btn-hapus-gejala").hide();
} else {
$(this).find(".btn-hapus-gejala").show();
}
});
}
$(document).ready(function() {
$(".btn-tambah-gejala").click(function() {
var newDropdown = `
Pilih Gejala
@foreach($gejala_list as $gejala)
{{ $gejala->nama_gejala }}
@endforeach
Hapus
`;
$("#gejala-container").append(newDropdown);
let newSelect = $("#gejala-container .gejala-select").last()[0];
initChoicesOnNewSelect(newSelect);
updateDropdownOptions();
});
$(document).on("click", ".btn-hapus-gejala", function() {
if ($('.gejala-wrapper').length > 1) {
$(this).closest(".gejala-wrapper").remove();
updateDropdownOptions();
}
});
$(document).on('change', '.gejala-select', function() {
updateDropdownOptions();
});
$(".gejala-select").each(function() {
initChoicesOnNewSelect(this);
});
updateDropdownOptions();
});
Подробнее здесь: [url]https://stackoverflow.com/questions/79570804/i-cant-delete-previously-selected-data-in-choice-js[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия