1

私の例の API は ID と名前のペアを返します

  <categories>
   <category id="5" name="Bollywood"/>
   <category id="484" name="International"/>
   ...
  </categories>

ユーザーがオプションから選択できるように、ドロップダウンを作成しようとしています

 <select class="action" id="categoryEvent" onchange="change(value)" style="display: block">
   <script type="text/javascript">
      var url = "http://api.hungama.com/metroapp/categories.php?format=json";
      var id,name;
      var data = JSON.parse(url);
      data.category.forEach(function (content) {
   </script>
    <option value="id">name</option>  //id, name from api
   <script type="text/javascript">
        }
   </script>

私は何を間違っていますか?

4

2 に答える 2

2

これはあなたが望むもののように見えます:

<select class="action" id="categoryEvent" onchange="change(value)"></select>
<script type="text/javascript">
    var url = "http://api.hungama.com/metroapp/categories.php?format=json";
    var id, name;
    var xhr;
    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    } else {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4 && xhr.status == 200) {
            var res = JSON.parse(xhr.responseText),
                data = res.category;
            for(var i = 0; i < data.length; i++) {
                var ele = document.createElement("option");
                ele.value = data[i].id;
                ele.innerHTML = data[i].name;
                document.getElementById("categoryEvent").appendChild(ele);
            }
        }
    }
    xhr.open("GET", url, true);
    xhr.send();
</script>
于 2012-06-24T20:51:56.987 に答える
0

HTML ドキュメント内では、一方の側で select html 要素を宣言し、もう一方の側で script 要素を宣言する必要があります。

例えば:

<select class="action" id="categoryEvent" onchange="change(value)">
</select>

<script type="text/javascript">
//manipulate the select
var select = document.getElementById("categoryEvent");
var newOption = document.createElement("option");
select.appendChild(newOption);
</script>
于 2012-06-24T20:45:46.110 に答える