3つの入力フィールドに依存する計算を実行するダイアログがあります。いずれかが変更されると、すべてが満たされているかどうか、処理されているかどうかがチェックされ、応答が返されます。jQuery .change()イベントがIEで起動しない
FF、Chrome、Operaなどでは正常に動作しますが、どのバージョンのIEでも動作が停止します。残りのjQueryは正常に動作しますが、ここでどこに問題があるのか正確にはわかりません。私はそれが.change()イベントまたは複数のイベントバインディングと関係があるかもしれないと思うが、私は本当に知らない。
ここで問題のあるコードです:
var loan = $("#ltv-loan-amount");
var mortgage = $("#ltv-mortgage");
var property = $("#ltv-property");
$("#ltv-dialog input").change(function() {
if(loan.val() && mortgage.val() && property.val())
{
var ltv = parseInt(((parseInt(loan.val()) + parseInt(mortgage.val()))/parseInt(property.val()))* 1000);
ltv /= 10;
if(ltv > 0 && ltv < 85)
{
$("#ltv-result").html("<span id=\"ltv-form-result\">" + ltv + "%</span></p><p><a id=\"ltv-link\" href=\"#sidebar-head\">Congratulations, your LTV has passed. Please now proceed with your application opposite.</a>");
$("#amount").val(loan.val());
$("#mortgage_balance").val(mortgage.val());
$("#prop_value").val(property.val());
$("#ltv-link").click(function() {
$("#ltv-dialog").dialog("close");
});
}
else if (ltv > 84)
{
$("#ltv-result").html("<span id=\"ltv-form-result\">" + ltv + "%</span></p><p>Unfortunately your LTV is greater than 85%. You may still qualify for a loan if you reduce the loan amount.");
}
else
{
$("#ltv-result").html("</p><p>Please check your input above as you currently have a negative ltv.");
}
}
});
、問題のHTML:
<div id="ltv-dialog" title="Do You Qualify for a Loan?">
<p>Please enter the fields below and your LTV will be calculated automatically.</p>
<div id="ltv-form">
<div class="ltv-row">
<label for="ltv-loan-amount">Loan Amount:</label>
<input type="text" name="ltv-loan-amount" id="ltv-loan-amount" class="p000" />
</div>
<div class="ltv-row">
<label for="ltv-mortgage">Mortgage Value:</label>
<input type="text" name="ltv-mortgage" id="ltv-mortgage" class="p000" />
</div>
<div class="ltv-row">
<label for="ltv-property">Estimated Property Value:</label>
<input type="text" name="ltv-property" id="ltv-property" class="p000" />
</div>
</div>
<div class="ltv-row">
<p>Loan to Value % (LTV): <span id="ltv-result"></span></p>
</div>
</div>
更新
変更イベントが発火するように見えますが、テキストのみがボックスが値からヌルに変わります。
あなたがエラーのコンソールをチェックしましたか? –
私は次のポストはあなたを助けるだろうと思う: [http://stackoverflow.com/questions/208471/getting-jquery-to-recognise-change-in-ie][1] [1]:http://stackoverflow.com/questions/208471/getting-jquery-to-recognise-change-in-ie – pascalvgemert
関連するHTMLを表示してください。ラジオボタンやチェックボックスを使用している場合は、おそらく '.change()'の代わりに '.click()'を待ちます。 – jfriend00