点击时我有以下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有效,但有一个怪癖。
即使输入元素是70px,它似乎滚动就像文本宽度是200px左右一样。这使得您在首次点击td后无法看到placeholder
。如何使光标始终向左冲洗,文本输入为70px。
更新:这是输入文字并通过POST
发送后的输入:u'status': [u'\t\t\t\t\t\t\t\t\t\t\t2012-01-01']
。换句话说,它似乎从文本输入中的11个选项卡开始!为什么会出现这种情况?我将如何摆脱这种情况?
答案 0 :(得分:1)
您可以将输入框包装在width:70px;overflow:hidden
的div中,这样您就可以确定不会看到任何滚动条。