Возникла необходимость добавить выпадающий список с двумя значениями - условно контактом и его ID, одной строкой. Выбранное значение обрабатывается через event.target.value. Однако это значение берёт всю выбранную пользователем строку, а мне нужен только ID. Есть ли возможность его как-то отделить?
Впервые столкнулся с JS, так что извиняюсь заранее, если вопрос некорректный или элементарный.
HTML:
<select class="slds-select" name = "contactSelect" onchange={changeHandler}>
<template for:each={allContacts.data} for:item="contact">
<!-- мне нужен только {contact.Id}, пользователю - оба поля -->
<option key={contact.Id} value={contactId}>{contact.Name}, {contact.Id}</option>
</template>
</select>
Обработчик:
changeHandler(event) {
const field = event.target.name;
// здесь я получаю оба значения одной строкой, нужно одно
if (field === 'contactSelect') {
this.contactId = event.target.value;
}
// здесь я получаю оба значения одной строкой, нужно одно
if (field === 'accountSelect') {
this.accountId = event.target.value;
}
}
var key = event.target.options[event.target.selectedIndex].getAttribute('key');
if (field === 'contactSelect') {
this.contactId = key;
}
if (field === 'accountSelect') {
this.accountId = key;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Получаю из базы данных строку valuesОна представляет собой числа через запятую
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском