2017-06-19 11 views
0

私のアプリでは、ユーザーが値を選ぶことができるフォームがほとんどなく、その値がテキスト入力フィールドに表示されます。これらの値は通常1〜3文字です。一度私の値を選ぶと、私の入力フィールドは伸びています(幅を変更しました)。入力フィールドに十分なスペースがあり(サイズは10に設定されています)、拡張する理由はありません。私は自分の値がトリムされているかどうかをチェックしていて、値とは何も変わっていません。私はこれがJQuery .val()に関連しているかどうか、私が使っているのか、それとも別のものがあるのだろうか?ここに私のコードの例があります。設定値の後に入力フィールドが拡張されますか?

HTML:

<div class="formItem"> 
    <label for="status">Status:</label> 
    <input type="text" name="status" id="status" value="" data-master="SS_STATUS" size="10" maxlength="10" readonly /> 
    <img src="Images/add.png" alt="Click to add value" class="masterRecords" /> 
</div> 

はJQuery:私はあなたの前に、ユーザーが値を選択した後、入力フィールドを見ることができる画像を添付した

//Looping through the table with the records where users choose desired code/value for their input field 
$('#searchTbl tbody tr').on('click', function(){ 
    var codeVal = $.trim($(this).find('td:eq(0)').text()); //Here I grab the value from the table 
    $('#status').val(codeVal).css('font-weight','bold'); //Here input field is populated 
}); 

。フィールドサイズには明らかな違いがあります。 HTML構造で何も変更されていません(値を設定した後、私の開発ツールで監視しました)。

Input Field

+0

フィディーズまたはコードスニペットを作成できますか?私たちが見ることのできない何かがあります。 'var codeVal'が実際には数字であることを確認しましたか?あなたが戻ってきているように.'text() 'それは何でもあります。 –

答えて

1

私が正しいんだ場合は、値を設定するだけでなく、スタイルを適用していないだけで:.css('font-weight','bold');、私はそれはあなたがあなたの入力の幅の変化を持っている理由だ疑い...

.css()への呼び出しを削除して確認し、確認したら、ページのレンダリング時にスタイルを適用してみてください。

+0

私はCSSを削除して、問題を修正しました。それでも入力フィールドのサイズに影響する理由はわかりません。 –

+0

私は入力の実際の幅はcharの数に基づいて計算され、charのwitdhはcharの太字に依存すると思います。 – pataluc

+0

この問題を回避する方法はありますか? –

関連する問題