尝试在jquery中使用getJson加载json数据

时间:2016-06-30 14:25:55

标签: jquery json

我试图用jquery从我的Json文件加载一些数据,但我不确定,为什么它不能工作!我还试图在Json文件中对数组中的特定对象进行排序和查找。以下是我的一些代码:

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script type="text/javascript">
    var url = 'content.json';
    var outp = {
                    low         :   0,
                    high        :   99,
                    name        :   "Fritz",
                    rufnummer   :   "012",
                    faxnummer   :   "345",
                    mobil       :   "678",
                    mail        :   "mail@mail.mail",  
                }

    var searchplz = parseInt(.inp.toString().substr(0,2));

    $(.find).click(function(){
        $.getJSON(url,data,function(data,status)){
            if(status === 200 && .inp.length == 5){
                if(searchplz != 85){
                    for (var i = data.PLZ.length - 1; i >= 0; i--) {
                        if(data.PLZ[i].low <= searchplz && data.PLZ[i].high >= searchplz){
                            outp = data.PLZ[i];
                        }
                    }
                } else {
                    searchplz = parseInt(.inp.toString().substr(0,3));
                    if (searchplz == 850 || searchplz == 851){
                        outp = data.PLZ[21];
                    } else {
                        outp = data.PLZ[22];
                    }
                }
            }
        }

    });
</script>
</head>
<body>
    <p>Postleitszahl:</p>
    <input type="number" autocomplete="on" name="inp" class="inp">
    <button type="button" class="find">Finden</button>
    <p class="output"></p>
</body>

1 个答案:

答案 0 :(得分:3)

如果不是拼写错误,您的点击事件肯定不会触发:

$(.find).click

应该是

$('.find').click

此外,data参数不存在(至少在您向我们展示的代码中)

$.getJSON(url,data,

编辑:

您的代码中还有另一个问题。当.inp只是一个CSS类时,你可以使用var searchplz = parseInt(.inp.toString().substr(0,2));

你做不到

.inp.toString()

.inp部分是错误的。你需要使用jquery来获取类var inp = $(".inp").val(); 的DOM元素,然后你就可以使用它的值:

.inp

您可以在此处获得类inp的输入,并将其值分配给变量inpvar inp现在是一个字符串。

您现在可以像这样使用var searchplz = parseInt(inp.substr(0,2));

<script>

    function PopUpOP() {
    setInterval(function(){alert("Hey!")}, 1800000);
     }       
</script>

在整个代码中报告此修改。