当下拉列表更改回默认值时,它不会更改该值

时间:2014-04-17 07:58:19

标签: javascript jquery ajax

我有一个下拉列表,当用户点击单选按钮时会重新填充。在我的代码中,您单击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;
        }
    });
});

我对此错误感到非常沮丧。有人可以帮忙吗?

0 个答案:

没有答案