2011-01-14 12 views
0

OKこれは、検索ボックスの入力を.phpに送信し、jqueryのJSONオブジェクトを返すスクリプトです。私は今どのようにdivの内容を変更することができます。JSONオブジェクトの質問を使用

{"0":"Aardappelen rauw","voedsel":"Aardappelen rauw","1":"88","calorien":"88"} 

i「はAardappelenのrauwは」は、例えばDIV1とdivの2の88でなければならないことを言うことができる方法:returndあるJSONオブジェクトは、次のようになりますか?私はdata.voedselとdata.calorienてみましたが、それは頭の中で..

を動作しません:体内の

<script type="text/javascript"> 
function contentDisp() 
{ 

$.ajax({ 
    type: 'POST', 
    url: 'getFood.php', 
    data: {'foodnametextbox' : $('#food').val() }, 
    datatype: "json", 
    success: function(data){ 

    $('.second').replaceWith(data); 

    } 
}); 


} 
</script> 

<div class="container"> 
    <div class="inner first">Hello</div> 
    <div class="inner second">And</div> 
    <div class="inner third">Goodbye</div> 
</div> 
+0

問題が解決しました。しかし今、別の問題:私が検索を実行し、divを更新すると、それは一度しか行いません。もし私のクエリを変更してボタンをもう一度押すと、DIVの変更はもう働きません。なぜですか? – Javaaaa

+0

もう一度解決しました、ありがとう! – Javaaaa

答えて

2

dataType: 'json'は自動的にparseJSONを呼び出します。次に、data['0'](またはdata.voedsel)を実行して「Aardappelen rauw」を取得する必要があります。

EDITdatatype: "json"からdataType: "json"に変更してください。 「タイプ」の「t」は資本である必要があります。

+0

はい、TをTに変更した後で動作します。ありがとう! – Javaaaa

+0

@Javaaaa:ようこそ。これらのばかな小さなエラーを見つけるのは時々難しいことです。 –

+0

oeps間違った編集:しかし、別の問題:私は検索を実行し、divを更新すると一度だけです..私は私のクエリを変更し、ボタンをもう一度押してDIVの変更はもう働きません、なぜこれは? – Javaaaa

1

あなたは.parseJSON()http://api.jquery.com/jQuery.parseJSON/

+0

これもうまくいきます、ありがとう! – Javaaaa

+1

いいえ 'datatype: 'json''を' dataType:' json''に変更してください。 – RoToRa

+0

ああ、間違いだよ、ありがとう、必要はない.parsoJSON()確かに今! – Javaaaa

1
を使用することができます

replaceWithは、HTML文字列、DOM要素、またはjQueryオブジェクトを受け取ります。 JSONデータオブジェクトはそれらのどちらでもありません。

$('.second').text(data["0"]); 

EDIT:はevalをを使用しないでください私の推測では、あなたがこのような何かをしたいです。あなたのajaxオプションは間違っています。それはdataType: 'json'である必要があります。大文字のTに注意してください。

関連する問題