0

我需要用省名填充字段.txtProvince,而具有省ID的字段.txtProvinceHidden(或.txtProvince可能有'province_id'attr,也许)。jQuery UI自动完成源事件在Symfony上不起作用

我发现这个解决方案(here):

$(function() {     
    var provinces = [{id: 1,label: "Alagoas"},{id: 2,label: "Bahia"}]; 
    $(".txtProvince").autocomplete({ 
     source: provinces, 
     select: function(event,ui) { 
       $(this).val(ui.label); 
       $(".txtProvinceHidden").val(ui.id); 
     }     
    });    
}); 

到目前为止好,现在问题来了:当jQuery UI的执行搜索,我得到“禁止”的错误。

这里是它寻求的网址:

http://dicasdedesconto.localhost/[["1","Alagoas"],["2","Bahia"]?term=Ba 

在这里,我看到控制台上的错误:

Forbidden 

You don't have permission to access /[["1","Alagoas"],["2","Bahia"] on this server. 

Apache/2.2.20 (Ubuntu) Server at dicasdedesconto.localhost Port 80 

我敢肯定,这是一个路线问题,但我不不知道如何解决这个问题。有没有人有这个问题?

回答

0

这里是你的代码的工作示例:jsfiddle

你编辑你的例子呢?如果传递给源的对象格式错误,可能会将其解释为字符串而不是对象数组。看看你的控制台的例子,它似乎试图将你的源代码用作路径。让我想知道你是否可以在发布时解决你自己的问题。

Autocomplete docs

当使用字符串时,自动完成插件预计字符串以指向URL资源,将返回JSON数据。

+0

ok ...非常好..我编辑了这个例子..并且,真的我的json是'[[id:1,label:“Alagoas”],[id:2,label:“Bahia”] ]'而不是'[{id:1,label:“Alagoas”},{id:2,label:“Bahia”}];'...有没有办法用js或php轻松改变这个? – cbacelar 2012-04-19 17:28:56

+0

如何提供json?如果你是从PHP创建它,它最简单的只是建立一个stdClass对象或关联数组和'json_encode'它 – kmfk 2012-04-19 17:34:09

+0

好吧..我使用'json_encode' ..所以php递给我:'[{“id”: “1”,“label”:“Alagoas”},{“id”:“2”,“label”:“Bahia”}'...我使用js省份= JSON.parse(result)解码。 。我提醒并显示'[object Object],[object Object]'..当我提醒示例的“省”var时,我看到了同样的事情。什么可能是错的?!?! – cbacelar 2012-04-19 18:57:40