在.text()函数上获取类型错误

时间:2013-03-06 13:46:51

标签: jquery json jquery-mobile

我正在尝试使用以下json文件中的值来计算某些内容:

$(document).ready(function() {
        $.ajax({
            type : 'GET',
            url : 'outfitters.json',
            dataType : 'json',
            success : processTeam,
            error : function() {
                alert('error');
            }
        });

        $('#outfitters').submit(function(event) {
            var days = ('#days').text();
            var final_price = days * (("#length").val() + ("#material").val() + ("fibre").val() + ("#kevlar").val());

            console.log(final_price);
            $("#price").html(final_price);
        });


    });

    function processTeam(data) {
        var company = data.company;
        $("h1").html(company);

        var locations = '';
        for ( i = 0; i < data.locations.length; i++) {

            locations = data.locations[i].name;
            $("ul").append('<li>' + locations + '</li>').listview('refresh');

        }

        var feet_12 = data.twelve;
        $("#12feet").val(feet_12);

        var feet_14 = data.fourteen;
        $("#14feet").val(feet_14);

        var feet_16 = data.sixteen;
        $("#16feet").val(feet_16);

        var fibre = data.fibreglass;
        $("#fibre").val(fibre);

        var kevlar = data.kevlar;
        $("#kevlar").val(kevlar);

        var paddles = data.paddles;
        $("#paddles").val(paddles);

        var lifevest = data.paddles;
        $("#lifevest").val(lifevest);

    }

但是当我点击提交按钮时,我收到TypeError: "#days".text is not a function。 当我使用最新的库时,看起来不像库问题。我无能为力,因为我可能错了?

2 个答案:

答案 0 :(得分:1)

将其更改为:

$('#days').text();

更改以下内容:

        var days = ('#days').text();
        var final_price = days * (("#length").val() + ("#material").val() + ("fibre").val() + ("#kevlar").val());

        var days = $('#days').text();
        var final_price = days * ($("#length").val() + $("#material").val() + $("#fibre").val() + $("#kevlar").val());

答案 1 :(得分:0)

var days = ('#days').text();

应该是

var days = $('#days').text();