0

我使用自动完成来填充 jquery 数据表网格中的文本框。有时返回的字符串比文本框长。一旦选择它,我就看不到字符串的开头,我只看到结尾。一种解决方案是截断选定的字符串,这样它对于文本框来说永远不会太长。但这可能会使用户感到困惑。

有没有更好的办法?

<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

根据评论,解决方案是: - 将光标放在第一个字母之前的文本框中 -这个问题的答案(jquery-set-cursor-position-in-text-area)显示了如何做到这一点。

于 2013-10-18T10:04:37.587 回答