Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Textbox无法显示自动完成中的整个字符串。如何使其显示所选字符串的开头?_Jquery_Asp.net Mvc - Fatal编程技术网

Jquery Textbox无法显示自动完成中的整个字符串。如何使其显示所选字符串的开头?

Jquery Textbox无法显示自动完成中的整个字符串。如何使其显示所选字符串的开头?,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我使用autocomplete填充jquery datatables网格中的文本框。有时返回的字符串比文本框长。选择后,我看不到字符串的开头,只看到结尾。 一种解决方案是截断所选字符串,这样它对于文本框就不会太长。但这可能会让用户感到困惑 有更好的办法吗 <tr @if (Model != null) { @:data-pkey='@Html.AttributeEncode(Model.TimeEntryRowID)' } > <td

我使用autocomplete填充jquery datatables网格中的文本框。有时返回的字符串比文本框长。选择后,我看不到字符串的开头,只看到结尾。 一种解决方案是截断所选字符串,这样它对于文本框就不会太长。但这可能会让用户感到困惑

有更好的办法吗

<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);
        }

@TextBoxFor(x=>x.JobDescription,新的{@class=“JobDescriptionList”,style=“width:370px;text align:left;”)
@Html.HiddenFor(x=>x.JobName,新的{@class=“JobName”})
$(“.JobDescriptionList”).autocomplete({
资料来源:arrayJobs,
最小长度:2,
mustMatch:是的,
选择:功能(事件、用户界面){
var$input=$(此);
var-TABKEY=9;
if(event.keyCode==TABKEY){
//塔博特并没有移动到下一个盒子
$input.next('input').focus();
}
},
更改:功能(事件、用户界面){
if(ui.item){
var$input=$(此);
//var contractShort=GetContractShorted(ui.item.value);
var合同=ui.item.value;
$input.val(合同);
var$jobName=$input.closest(“td”).find(“.jobName”);
var contractNo=GetContractNo(合同);
$jobName.val(合同号);
}

根据评论,解决方案是: -将光标放在文本框中第一个字母之前
-的答案显示了如何操作。

我会尝试将光标放在文本框中第一个字母之前。我尝试使用select(0,0)在change函数中,但这不起作用。事实上,你是对的,我在这里找到了方法;这解决了问题。但是……一旦我选择了一个项目,我就想转到下一个文本框。当这种情况发生时,我看到的只是字符串的结尾。