0

这是我的 HTML 代码


<!-- Javascript DropDown menu -->
<label>Select le groupe</label>
<select id="groupe" onchange="yyyyy";>
<option value="">Select le groupe</option>
</select>

<script type="text/javascript" src="https://www.google.com/jsapi"></script>

我想在我的代码中使用下拉菜单。在我的代码javascript中我有一个函数

function getTable() {
      $.ajax({
              dataType: 'json',         
              type: 'GET',
              url: 'call/json/mytables',
              xhrFields: {
                         withCredentials: true
                },
              success: function(response) {
                  console.log(response); 
                  sendQuery(response[0]);
              },
          });
    } 

像这样和函数(响应)给我我需要的Json,我需要在onchange =“yyyyy”中的DropDown,但我不知道我怎么能使用它????????

4

2 回答 2

0

您需要从服务器请求下拉列表的数据(您的代码已经这样做了),然后根据服务器返回的格式解析响应。如果我们假设它是 JSON 格式,那么您可以JSON.parse(response)在响应回调中使用,否则您将不得不编写一些自定义解析代码。如果是这种情况,请留下评论,并提供有关您的回复格式的相关信息。

要填充下拉列表,您可以使用它$.each来迭代您的数据数组并将<option>元素附加到您的<select>元素。

这是一个可以使用的jsFiddle,下面是更新后的代码

// disable the select control until you get the data
$("#groupe").prop('disabled', true);    

function populateSelectWithOptions($select, data)
{
    // remove any exisiting contents
    $select.html('');

    //iterate over the data and append a select option for each item
    $.each(data, function(key, val) {
        $select.append('<option value="' + val.tableId + '">' + val.tableName + '</option>');
    });

    // enable the select control
    $select.prop('disabled', false);
}

function getTable() {
    $.ajax({
        dataType: 'json',
        type: 'GET',
        url: 'call/json/mytables',
        xhrFields: {
            withCredentials: true
        },
        success: function(response, status) {
            console.log(response, status);
            if (status == "success")
            {
                // we expect a response in a JSON format
                response = JSON.parse(response);

                // if the response is not in the json format then you will have to
                // write some custom parsing code here

                populateSelectWithOptions($("#groupe"), response);
            }
        },
    });
}

// request the data
getTable();
于 2013-07-26T10:10:16.910 回答
0

在下面的代码中,data[i].xdata[i].y(只是一个例子)。它会有所不同并取决于你的 json 数据。只是一个关于如何去做的例子。将此代码放在您的成功部分。

            var data=JSON.parse(response);//to parse the json_encoded data

            for(var  i=0;i< data.length;i++)
            {
                alldata += "<option id='"+data[i].x+"'>"+data[i].y+"</option>";
            }

            document.getElementById('id').innerHTML = alldata;//for javascript
or
            $("#id").html(alldata);//for jquery
于 2013-07-26T09:38:39.787 回答