我有以下jQuery修改表格單元格時單擊 - 它將使用戶填寫文本輸入和輸入,返回到正常<td>
。jquery文本輸入行事滑稽
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個標籤開始的!爲什麼會發生這種情況,我將如何擺脫這種情況?
什麼是'selectdone'? –
它調用的另一個函數,但它不應該影響上面的js。 – David542
你有幾個在同一頁上嗎?賦予多個元素'inp'的id是一個問題。 –