我有以下 jQuery 在单击时修改表格单元格-它将使用户能够填写文本输入并在输入时返回正常的<td>
.
HTML-
<td class="delivered">
{{ title.delivery_date|date:"Y-m-d" }}
</td>
JS-
$("td.delivered").click(function () {
if ($(this).find('#inp').length == 0) {
var before = $(this).text();
var title_id = $(this).parent().attr('id');
var status_type = 'delivery-date'
$(this).html($("<input/>", {
id: 'inp',
style: 'width:70px;',
placeholder: 'YYYY-MM-DD',
change: function () {
selectdone(this, title_id, status_type);
}
}));
$("#inp").focus();
$('#inp').val(before);
}
});
上面的 js 可以工作,但是有一个怪癖。
即使输入元素是 70 像素,它似乎也像文本宽度为 200 像素左右一样滚动。这使得您placeholder
在第一次单击 td 后无法看到。我将如何使光标始终向左齐平并且文本输入在任何方面都是 70px。
更新:POST
这是输入文本并通过:发送后的样子u'status': [u'\t\t\t\t\t\t\t\t\t\t\t2012-01-01']
。换句话说,它似乎从文本输入中的 11 个选项卡开始!为什么会发生这种情况,我将如何摆脱这种情况?