Tôi có một hộp thoại thực hiện phép tính phụ thuộc vào ba trường nhập. Khi bất kỳ trong số chúng được thay đổi, nó sẽ kiểm tra xem chúng có được lấp đầy không và nếu chúng là quá trình và đưa ra phản ứng của nó.Sự kiện jQuery .change() không kích hoạt trong IE
Nó hoạt động hoàn toàn tốt trong FF, Chrome, Opera, vv, nhưng trong mọi phiên bản của IE, nó chỉ dừng hoạt động. Phần còn lại của jQuery của tôi hoạt động tốt, nhưng tôi không thể tìm ra chính xác vị trí của vấn đề ở đây. Tôi nghĩ rằng nó có thể là để làm với sự kiện .change() hoặc sự kiện nhiều ràng buộc nhưng tôi thực sự không biết.
Dưới đây là mã vi phạm:
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.");
}
}
});
và HTML trong câu hỏi:
<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>
Báo cáo cập nhật kiện
Sự thay đổi dường như được bắn, nhưng chỉ khi văn bản thay đổi hộp từ một giá trị thành null.
Bạn đã kiểm tra giao diện điều khiển cho các lỗi? –
Tôi nghĩ rằng bài viết sau đây sẽ giúp bạn ra ngoài: [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
Vui lòng hiển thị HTML có liên quan.Nếu bạn đang sử dụng nút radio hoặc hộp kiểm, thì có thể bạn muốn nghe '.click()' thay vì '.change()'. – jfriend00