文本框无法显示自动完成的整个字符串。如何让它显示所选字符串的开头?

时间:2013-10-18 07:44:48

标签: jquery asp.net-mvc

我使用自动填充来填充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);
        }

1 个答案:

答案 0 :(得分:0)

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