Javascript 输入字段宽度设置为内容

Javascript 输入字段宽度设置为内容,javascript,html,css,input,Javascript,Html,Css,Input,所以我有这个。我有两个jQueryUI插件,它们提供这两个输入字段的值。因此,用户不需要手动编辑字段,因此将其设置为只读 现在问题来了,有没有办法根据内容大小改变输入字段的宽度?在css中将宽度设置为300px左右可能适用于September,但如果用户选择其他月份,如May,则需要大大小于300px。查看以下内容: 我所做的是计算所有字符,然后根据结果设置宽度 date.style.width = (date.value.length * 7) + "px"; time.style.width

所以我有这个。我有两个jQueryUI插件,它们提供这两个输入字段的值。因此,用户不需要手动编辑字段,因此将其设置为只读

现在问题来了,有没有办法根据内容大小改变输入字段的宽度?在css中将宽度设置为300px左右可能适用于September,但如果用户选择其他月份,如May,则需要大大小于300px。

查看以下内容:

我所做的是计算所有字符,然后根据结果设置宽度

date.style.width = (date.value.length * 7) + "px";
time.style.width = (time.value.length * 7) + "px";
注意:如果你打算大量使用它,而不是仅仅使用2次,那么制作一个函数将是一个好主意


这也很有用:

类型为
text
input
html标记的
size
属性用于指定字符的可见宽度。 因此


应该使用您的示例来实现这一点。

将其添加到JSFIDLE中并没有做到这一点anything@halliewuud我猜是因为JSFIDLE包含了mootools,但没有jQuery。我为jQuery编写了一个示例,因为您在页面上提到了使用它。试试这个:不幸的是,这只会将输入的大小调整到给定字体中那个么多字符的近似宽度。请尝试使用非常宽或非常细的字符的字符串:
value=“ww”
value=“llllll”
function adjust_width(element) {
    element.size=element.value.length;
}
adjust_width($('#date')[0]);
adjust_width($('#time')[0]);