-2

組織が変更されると、選択された値が変数 org に格納される関数が呼び出され、選択された値が json 全体と比較され、選択された組織に対応するすべての場所が場所のドロップダウンに出力されます。ここに私のコードがあります

 var json = <?php echo $response ?>;
alert(json);
alert(json.length);
var org=document.getElementById('category_id').value;
alert(org);
for(var i=0;i<json.lenght;i++)
    {


    }
for(var i=0; i<json.length; i++)
    {
        var item = json[i];
        alert(item);   
}
}

my json is 

 [{"location":[{"building":["Default Building"],"name":"Default Location"}],"name":"Default Organization"},{"location":[{"building":["test_loc1_building1","test_loc1_building2"],"name":"test location1"},{"building":["test_loc2_building2"],"name":"test location2"}],"name":"test Organization"}] 

私のフォームは、上記のjsonを解析し、次のようにphp fprmに組織のオプションを含めた場所です。場所と建物にはさらに2つのオプションがあります。ここに私のフォームがあります。私の質問は、組織を選択するときに選択した値です変数に格納され、変数はjsonでその特定の値を検索し、その選択された組織を含むオブジェクトオブジェクト内の対応する場所を場所を保持するドロップダウンに返す必要があります

<label for="orgname">Organisation Name</label>
                    <select style="width: 305px;text-align:left ;"  name="category_id" id="category_id" onchange="return orgname(this)";>
                    <option value="">Select</option>
                    <?php foreach($org as $key=>$val){?>
                    <option value="<?php echo $val; ?>"><?php echo $val;?></option>
<?php
}
?>                      </select>

                    <p>
        <label name="location">Location</label>

                     <select style="width: 305px;" name="category_id1" id="category_id1">
                     <option value="">Select</option>

                     </select>
                    </p>
                    <p>
        <label for="building">Building</label>

                    <select style="width: 305px" name="category_id2" id="category_id2" onchange="ajax(this);">
                    <option value="">Select</option>

                    </select>
4

1 に答える 1

0

これを試して

<script>
function orgname($org){    
    $org=$org.value;
var jsontext = '[{"location":[{"building":["Default Building"],"name":"Default Location"}],"name":"Default Organization"},{"location":[{"building":["test_loc1_building1","test_loc1_building2"],"name":"test location1"},{"building":["test_loc2_building2"],"name":"test location2"}],"name":"test Organization"}] ';
var newArr = JSON.parse(jsontext);
    for($i=0;$i<=newArr.length;$i++)
    {
        if(newArr[$i].name==$org)
        {
            document.write("location Name:"+newArr[$i].location[0].name+"</br>");//for location
            document.write("building Name:"+newArr[$i].location[0].building+"</br>");//for building
        }    

    }    

}
</script>
于 2013-04-12T10:12:08.707 に答える