Получить значение option title из datalist. jQuery, javascript
надо передать в value input id="id_clients-name" по нажатию на option в datalist значение title (использую его как поле hidden, может есть лучше варианты?). Как это сделать?
$(document).ready(function() {
$('#ajax_phone_{{ widget.name }}').on('change', function() {
$('#id_clients-name').val($('#' + $(this).attr('list')).find('option[title="' + $(this).title() + '"]').text());
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="clients-name" class="form-control" autocomplete="off" maxlength="150" id="id_clients-name">
<input id="ajax_phone_clients-phone" list="clients-phone" name="clients-phone" value="+7" required="" autocomplete="off" placeholder="Введите название...">
<datalist id="clients-phone">
<option value="32" title="Egor">+79121234567</option>
<option value="31" title="eg">+79216840525</option>
<option value="28" title="SomeText">+79211234567</option>
</datalist>
Ответы (1 шт):
Автор решения: Greg--
→ Ссылка
На stackoverflow множество вариантов есть, один из них:
$(document).ready(function() {
$('#ajax_phone_clients-phone').on('input',function() {
var opt = $('option[value="'+$(this).val()+'"]');
$('#id_clients-name').val(opt.length ? opt.attr('title') : 'Пользователь не выбран')
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="clients-name" class="form-control" autocomplete="off" maxlength="150" id="id_clients-name">
<input id="ajax_phone_clients-phone" list="clients-phone" name="clients-phone" value="+7" required="" autocomplete="off" placeholder="Введите название...">
<datalist id="clients-phone">
<option value="32" title="Egor">+79121234567</option>
<option value="31" title="eg">+79216840525</option>
<option value="28" title="SomeText">+79211234567</option>
</datalist>