0

オートコンプリートを使用して、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);
        }
4

1 に答える 1

0

コメントによると、ソリューションは次のとおりです

于 2013-10-18T10:04:37.587 に答える