有两个功能时,我的Javascript无法正常工作?

时间:2013-07-31 10:31:58

标签: jquery

我在Main.js文件中调用了$(document).ready()上的两个函数:

$(document).ready(function () {
    UpdateValue();
    LocationValue();
});

UpdateValue()工作正常,但当我拨打LocationValue()时,它会中断。这似乎是由getWards()中调用的LocationValue()函数引起的。

以下是两个功能:

function UpdateValue() {
$(document.body).on("change", ".Quantity", function () {
    var ProID = $(this).attr("data");
    var Quatity = $(this).val();
        $.ajax({
            type: "GET", url: "/Cart/UpdateValue", data: { ProID: ProID, quantity: Quatity },
            success: function (data) {
                $(".cart_box").html(data);
            }
        }
            );
        $.ajaxSetup({
            cache: false
        });
    });
}
function LocationValue() {
    $("#City").change(function () {
        var cityID = $("#City").val();
        alert(cityID);
        getWards(cityID);
    });
}
function getWards(cityID) {
    alert("in show");
    $.ajax({
        url: "/Checkout/Wards",
        data: {CityID: cityID},
        dataType:"json",        
        type:"POST",
        error:function()
        {
            alert("An error occured");
        },
        success:function(data)
        {
            var items="";
            $.each(data, function(i,item))
            {
            items+="<option value=\"" + item.Value + "\">" + item.Text + "</option>";
            });
            $("#Ward").html(items);
        }
    });
}
alert(cityID)中的{p> LocationValue()只有在我注释掉getWards()的来电时才能正确显示。我的代码出了什么问题?

2 个答案:

答案 0 :(得分:2)

function getWards(cityID) {
    alert("in show");
    $.ajax({
        url: "/Checkout/Wards",
        data: {CityID: cityID},
        dataType:"json",        
        type:"POST",
        error:function()
        {
            alert("An error occured");
        },
        success:function(data)
        {
            var items="";
            $.each(data, function(i,item))

^^你有一个太多')'...删除最后一个)它可能会有效。

            {
            items+="<option value=\"" + item.Value + "\">" + item.Text + "</option>";
            });
            $("#Ward").html(items);
        }
    });

答案 1 :(得分:0)

方法

中存在语法错误
function getWards(cityID) {
    alert("in show");
    $.ajax({
        url : "/Checkout/Wards",
        data : {
            CityID : cityID
        },
        dataType : "json",
        type : "POST",
        error : function() {
            alert("An error occured");
        },
        success : function(data) {
            var items = "";
            $.each(data, function(i, item) { // an extra ) was here
                items += "<option value=\"" + item.Value
                + "\">" + item.Text + "</option>";
            });
            $("#Ward").html(items);
        }
    });
}