0

私はかなり奇妙な問題を抱えています。値を入力できるフィールドが 2 つあり、計算値を 2 つの別々のラベル (異なる計算) で表示したいと考えています。

ただし、現在表示されている値は 1 つだけです。

HTML:

<input id="btcowned" />


<p>
    Fee<br />
    <input id="feebox" value="4.5" />
</p>

<p>
    Transfer
<label id="totalnetworth" style="font-weight: bold;" />
    (no vat)<br />
    <label id="totalnetworthVat" style="font-weight: bold;" />
    (vat)<br />
</p>

ジャバスクリプト:

<script>
    $(document).ready(function() {
        $('#btcowned').keyup(function() {
            updateNumbers();
        });
        $('#feebox').keyup(function() {
            updateNumbers();
        });


    });

    function updateNumbers() {
        var chosen = $('#btcowned').val();
        var fee = parseFloat($('#feebox').val());

        var val = chosen - ((chosen * fee) / 100);
        var vatVal = val * (1 + 0.025);

        $('#totalnetworth').text(val);
        $('#totalnetworthVat').text(vatVal);

        alert(vatVal);

    }
</script>

totalnetworth はうまく機能し、計算値を表示します。totalnetworthVat には何も表示されません。また、$('#totalnetworthVat').text('foo') のように、vatVal を記述するよりも簡単なことも試しました。

ただし、何も表示されず、FireBug は JS エラーを表示しません。

私の alert() は、 vatVal が実数であることを示しています。

何か案は?

4

2 に答える 2

2

問題は自己終了タグだと思います:

<label id="totalnetworth" style="font-weight: bold;" />

次のように変更した場合:

<label id="totalnetworth" style="font-weight: bold;"></label>

...それはうまくいくようです:http://jsfiddle.net/GRFda/

私の理解では、ドキュメント タイプが xhtml でない限り、あなたのような自己終了タグは機能しません。その場合でも、ページがtext/xmlまたはの MIME タイプで提供されていない場合はおそらく機能しませんapplication/xhtml+xml

于 2013-06-02T10:26:46.530 に答える