Я сделал этот сценарий, чтобы составить слово, выбирая буквы из раскрывающихся меню, выделенных для каждой буквы алфавита. Но при изменении уже выбранной буквы в раскрывающемся списке изменяется порядок отображения букв.
Например: если вы выберете буквы из раскрывающегося меню и создадите слово «HTML», а затем, если вы снова измените букву «H» на «X» в раскрывающемся меню, отобразится «TMLX» (он должен отображать XTML). Как сделать так, чтобы он отображался в правильном порядке (в этом примере: «XTML»)
$('body').on('change','.engravingSelect',function(){
//alert('it works');
let text = '';
let displayText = '';
console.log(text);
console.log("text");
var selectedOption = $(this).children("option:selected").val();
$('#EngravingSelects .engravingSelect').each(function(){
if ($(this).val() == '') {
text += ' ';
displayText += '';
} else {
console.log('time');
//text color change
var current = $(this).attr('data-latter');
var color = $(this).parent().parent().siblings('.colorDiv').find('.' + current).children("option:selected").val();
$(".engravingColorSelect ."+current).css("background-color:"+color);
text += $(this).val()+color;
displayText += "<span style='color:"+color+";'>"+$(this).val()+"</span>";
}
});
раскрывающаяся буква
<div class="option-wrap-family">
<select class="engravingSelect" id="comonOption">
<option value=""></option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
.....(A to Z)
</select>
</div>