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の場合、textareaの長さはわずか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 に答える