オートコンプリートを使用して、jquery データテーブル グリッドにテキスト ボックスを入力します。返される文字列がテキスト ボックスよりも長い場合があります。選択すると、文字列の先頭は表示されず、末尾のみが表示されます。1 つの解決策は、選択した文字列を切り捨てて、テキスト ボックスに対して長すぎないようにすることです。しかし、これはユーザーを混乱させる可能性があります。
より良い方法はありますか?
<tr @if (Model != null) {
@:data-pkey='@Html.AttributeEncode(Model.TimeEntryRowID)'
} >
<td style = "width:380px">
@Html.TextBoxFor(x => x.JobDescription, new { @class = "JobDescriptionList", style = "width:370px;text-align:left;" })
@Html.HiddenFor(x => x.JobName, new { @class = "JobName"})
</td>
$(".JobDescriptionList").autocomplete({
source: arrayJobs,
minLength: 2,
mustMatch: true,
select: function (event, ui) {
var $input = $(this);
var TABKEY = 9;
if (event.keyCode == TABKEY) {
// tabout was not moving to next box
$input.next('input').focus();
}
},
change: function (event, ui) {
if (ui.item) {
var $input = $(this);
//var contractShort = GetContractShortened(ui.item.value);
var contract = ui.item.value;
$input.val(contract);
var $jobName = $input.closest("td").find(".JobName");
var contractNo = GetContractNo(contract);
$jobName.val(contractNo);
}