Есть ли способ обрезать (удалить начальные / конечные пробелы) ввод, введенный пользователем, в поле автозаполнения текста jQuery <input>
, прежде чем оно сопоставляется со списком имен: значений? В настоящее время у меня есть текстовое поле, в котором пользователи должны вводить имена. Затем имена сопоставляются со списком пар имя: значение с помощью jQuery:
<script type="text/javascript">
var resources = [
<?php
foreach($data['Resource'] as &$row){
$Name = $row['Forename']." ".$row['Surname'];
echo "{";
echo " label:'$Name',";
echo " value:'$row[EmployeeNumber]'";
echo "},";
}
?>
];
jQuery(function(){
jQuery('#Resource').autocomplete({
source: resources,
focus: function(event, ui) {
jQuery('#Resource').val(ui.item.label);
return false;
},
select: function(event, ui) {
jQuery('#Resource').val(ui.item.label);
jQuery('#EmployeeNumber').val(ui.item.value);
return false;
}
});
});
</script>
Моя проблема в том, что если пользователь вводит имя, которое совпадает с именем на карте resources
, но с пробелами после него, оно не будет сопоставлено и, следовательно, никакое значение не будет назначено для ввода. Я хотел бы, чтобы по крайней мере завершающие пробелы (если не ведущие пробелы) игнорировались в этом отображении, если это возможно.
Кроме того, возможно ли добавить значение по умолчанию для поля ввода, если карта не найдена?
EDIT:
Кроме того, возможно ли, чтобы в раскрывающемся поле автозаполнения отображалась запись о несоответствии, если пользователь вводит что-то, что не соответствует? Извиняюсь за редактирование после вопроса.