2016-06-30 12 views
2

私のjsonファイルからjqueryでデータをロードしようとしていますが、どうしてうまくいかないのですか?また、配列内の特定のオブジェクトをJsonファイルでソートして見つけようとしています。ここに私のコードの一部です:jqueryでgetJsonを使用して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  : "[email protected]", 
       } 

    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> 

答えて

3

それはタイプミスではない場合は、あなたのクリックイベントは確かにトリガーいけない:

$(.find).click 

はまた

$('.find').click 

する必要があり、dataパラメータは」doesnの存在しません(少なくともあなたが私たちに示したコードの中に)

$.getJSON(url,data, 

EDIT:

あなたのコード内の別の問題があります。変数がCSSクラスの場合は、.inpを変数として使用します。

あなたは

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

​​一部が間違っていることができません。あなたは、あなたはその値を使用することができます、クラス.inpでDOM要素を取得するためにjqueryのを使用する必要があります。

ここ
var inp = $(".inp").val(); 

あなたはクラス.inpで入力を取得し、変数inpにその値を代入します。 inpは文字列になりました。

あなたは次のようにvar inpを使用することができます。

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

レポートあなたの全体のコードでこの変更。

+0

クイックアンサーに感謝します。私はクリック以外にスクリプトのすべてをコメントアウトし、 '.find'を修正し、console.log( 'test')を追加しました。それが誘発するかどうかを見るためには、それは何か手掛かりですか? – Niqql

+0

私は私の答えを完了しました。それが十分である場合私に教えてください – EoiFirst

+0

昨日、私はコードを傷つけました。私の主な問題は、ページが$(document).ready(function(){})で最初に読み込まれるのを待っていなかったことです。 !しかし、とにかく、私はそれを使用するvarに私のクラスの値を変換する必要がある情報のおかげで最初に。今私はあなたの提案を私の新しいコードに使用し、それはすごくうまくいきます!あなたのeffordに感謝します! – Niqql

関連する問題