<input>
name:valuesのリストと照合される前に、ユーザーがjQuery自動補完テキストボックスに入力した入力をトリミング(先頭/末尾のスペースを削除)する方法はありますか?現在、ユーザーが名前を入力するためのテキストボックスがあります。次に、名前はjQueryによってname:valueペアのリストと照合されます。
<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
マップ内の1つと一致する名前を入力したが、その後にスペースが含まれている場合、その名前は一致しないため、入力に値が割り当てられないことです。可能であれば、このマッピングでは少なくとも末尾のスペース(先頭のスペースではない場合)を無視したいと思います。
さらに、マップが見つからない場合、入力ボックスにデフォルト値を追加することは可能ですか?
編集:
余談ですが、ユーザーが一致しないものを入力した場合、ドロップダウンオートコンプリートボックスに一致しないエントリが表示される可能性はありますか?質問後の編集についてお詫びします。