我使用自动填充来填充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);
}
答案 0 :(得分:0)
根据评论,解决方案是: - 将光标放在第一个字母前的文本框中 - this question (jquery-set-cursor-position-in-text-area)的答案显示了如何做到这一点。