Jquery文本输入表现得很有趣

时间:2012-06-29 19:48:18

标签: javascript jquery css

点击时我有以下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个选项卡开始!为什么会出现这种情况?我将如何摆脱这种情况?

1 个答案:

答案 0 :(得分:1)

您可以将输入框包装在width:70px;overflow:hidden的div中,这样您就可以确定不会看到任何滚动条。