Php jQuery ajax调用未填充多个select
很难让它工作。使用Chrome javascript控制台,我可以看到我的函数正在启动并得到我需要的结果,它只是不会填充多重选择。代码如下: jQuery: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
$("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);
});
}