我有一个下拉列表,当用户点击单选按钮时会重新填充。在我的代码中,您单击radiobutton并正确地重新填充下拉列表,然后我的代码根据当前选定的值重新计算价格,当重新填充下拉列表时,该值将设置为默认值。问题是,当我点击单选按钮时,价格应重新计算为0,因为默认值为0,但下拉列表的值不会更改为0,我无法弄清楚这是为什么。
以下是用户更改单选按钮值时的ajax代码示例:
$("#doubleSpacingV").change(function () {
// only goes off when it goes from unchecked to checked
var modelData = {
paperType: $("#paperTypeJList").val(),
urgency: $("#urgencyJList").val(),
numOfPages: $("#numOfPagesJList").val(),
spacing: $('.spacingCheckBox:checked').val()
};
var spacingValue = $('.spacingCheckBox:checked').val()
$.ajax({
url: '@Url.Action("NumberOfPagesList", "Home")',
type: "POST",
data: { id: spacingValue },
cache: false,
async: true,
success: function (response) {
var items = "<option value=0>Choose Number of Pages/Words</option>";
$.each(response, function (i, spacing) {
items += "<option value='" + spacing.Value + "'>" + spacing.Text + "</option>";
});
$("#numOfPagesJList").html(items);
}
});
我在btw的末尾插入了一个警告来检查numOfPagesJList的值,该值应为0,但由于某种原因它没有正确更新。以下是一些类似的代码应该完全相同并且它正常工作:
$('#paperTypeJList').change(function () {
var modelData = {
paperType: $("#paperTypeJList").text,
urgency: $("#urgencyJList").val(),
numOfPages: $("#numOfPagesJList").val(),
spacing: $('.spacingCheckBox:checked').val()
};
var typeValue = $("#paperTypeJList").val();
$.ajax({
url: '@Url.Action("UrgencyList", "Home")',
type: "POST",
data: { id : typeValue },
cache: false,
async: true,
success: function (response) {
var items = "<option value=0>Select the Urgency</option>";
$.each(response, function (i, urgency) {
items += "<option value='" + urgency.Value + "'>" + urgency.Text + "</option>";
});
$("#urgencyJList").html(items);
}
});
$.ajax({
url: '@Url.Action("getNewPrice","Home")',
type: "POST",
data: modelData,
cache: false,
async: true,
success: function(response){
document.getElementById('priceLabel').innerHTML = response;
}
});
});
我对此错误感到非常沮丧。有人可以帮忙吗?