Php jQuery ajax调用未填充多个select

Php jQuery ajax调用未填充多个select,php,ajax,json,Php,Ajax,Json,很难让它工作。使用Chrome javascript控制台,我可以看到我的函数正在启动并得到我需要的结果,它只是不会填充多重选择。代码如下: jQuery: $("select[name='field[one]']").change(function() { var optionValue = $("select[name='field[one]']").val(); $.get ('/directory/l

很难让它工作。使用Chrome javascript控制台,我可以看到我的函数正在启动并得到我需要的结果,它只是不会填充多重选择。代码如下:

jQuery:

$("select[name='field[one]']").change(function()
        {
            var optionValue = $("select[name='field[one]']").val();
            $.get
            ('/directory/location/getData', {select:optionValue}, 
                function(data) 
                {
                    $("select[name='subjects']").val(data);
                }
            );
        }
    );
HTML:

结果是一个json编码的数组。。。我想这就是问题所在。。。获取多重选择以正确解释该信息。当前,在发出调用并检索数据后,不会发生任何事情

以下是chrome调试器中显示的json编码数组结果示例:

{
 2: "Aerospace Medicine Count(50)",
 3: "Abdominal Radiology (DR) Count(65)",
 4: "Addiction Psychiatry (P) Count(46)",
 5: "Adolescent Medicine (PD) Count(23)"
}
提前感谢。

您可以这样做:

function(data) {
    $.each(data, function(index, itemData) {
        var newOption = "<option value='" + index + "'>" + itemData + "</option";
        $("#show_results").append(newOption);
    });
}
功能(数据){
$.each(数据、函数(索引、项数据){

var newOption=“+itemData+”您必须迭代该
data
JSON并为select创建选项。
field[one]
您必须避免对元素使用这种类型的名称,因为它与jquery中的选择器冲突,例如在这一行中
$(“select[name='field[one]]”)
。这些不是实际的名称…在本例中已更改。非常接近。这将获得“多重选择”中的所有信息,但都是垂直的-每行一个字符。使“多重选择”非常长。出于某种原因,以下字符包括在每个“{}”中还有:没有看到…如何使用您的确切JSON数据,并且它在小提琴中工作?…我知道。我显然也没有看到它。是的,您的小提琴工作完美无瑕(谢谢)。想知道我在控制台中看到的JSON数据是否不是传递给函数的格式吗?jQuery中有一个.parseJSON方法。这可能是答案吗?就是这样。添加了此行:var obj=$.parseJSON(数据);并修改了此行:$.each(obj,function(index,itemData){现在做得很好。谢谢tymeJV-让我找到了正确的方向。
{
 2: "Aerospace Medicine Count(50)",
 3: "Abdominal Radiology (DR) Count(65)",
 4: "Addiction Psychiatry (P) Count(46)",
 5: "Adolescent Medicine (PD) Count(23)"
}
function(data) {
    $.each(data, function(index, itemData) {
        var newOption = "<option value='" + index + "'>" + itemData + "</option";
        $("#show_results").append(newOption);
    });
}