2011-03-07 67 views
0

我在寫an editor,並希望輸入字段爲列的寬度。 到目前爲止,我有:表格數據寬度

$td.html('<input name="test" value="' + $td.text() + '" size="' + $td.width() + '">'); 

的問題是:$ td.width()是報告號碼,如80和25,但輸入需要在字符寬度。 雖然我的CSS說:

html { 
    font-size:20px; 
} 

我沒有看到$ td.width()和大小屬性之間的關係。你會認爲它會是$ td.width()/ 20。

回答

1

我相信font-size:20px指定字體的高度,而不是寬度。寬度將嚴重依賴於使用的字體,並會根據字符而有所不同(除非固定寬度)。您將需要找出文本框使用的默認字體。

我已經然而,發現了下面的代碼片段號稱設置文本框的像素,而不是字符的寬度:

<input type="text" name ="sizeGiven" style="width: 200px" /> 

嘗試輸入width: 100%或類似的,看看是否起作用?

2

從W3Schools的http://www.w3schools.com/tags/att_input_size.asp

由於大小屬性是視覺 設計屬性,建議 使用CSS代替

$td.html('<input name="test" value="' + $td.text() + '" style="width: ' + $td.width() + '">'); 
// what does $td.width() return? with px? if not add 'px' or other required unit too. 
+0

您應寫明單位/測量(PX, em,pt或%)。一些瀏覽器對待寬度:200;與寬度不同:200px; – 2011-03-07 15:07:36

+0

同意。這就是爲什麼我在最後一行中提出相關單位的意見。 – Mahesh 2011-03-07 15:11:06