1

我有一个使用 javascript 动态创建的文本输入,我也在其中使用 javascript 放置一些文本。我想让文本输入大小可变,取决于文本长度,最大宽度为 70%

为此,我正在使用:

'<input type="text" style="max-width:70%" name="affiliation"
 id="affiliation'+affiliation_id+'" value="'+article_affiliations[i].name+'"
 size='+article_affiliations[i].name.length+'/>'

当文本长度超过 68% 时一切正常,但当不长时,文本输入区域小于文本大小。

例如,当文本大小为 118 时,文本区域将只有 106 个字符长度,我不知道为什么。任何帮助和建议都将不胜感激。

谢谢你。

4

2 回答 2

3

Javascript:

function incSize(event) {
   var size = event.value.length; 
   event.setAttribute("size", size);
   event.setAttribute("style", "width:auto")    
}

HTML:

<input type="text" name="affiliation" onkeyup="incSize(this)" size="1" />​

演示

于 2012-09-05T12:41:31.267 回答
0

删除样式属性,然后试试这个:

$('input[type="text"]').keyup(function(){
  $(this).attr({width: 'auto', size: $(this).val().length});
});

确保没有 CSS 样式覆盖宽度。从这里得到答案:动态调整输入大小

于 2012-09-05T12:23:23.987 回答