jQuery UI自动完成源事件在Symfony上不起作用
问题描述:
我需要用省名填充字段.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
我敢肯定,这是一个路线问题,但我不不知道如何解决这个问题。有没有人有这个问题?
答
这里是你的代码的工作示例:jsfiddle
你编辑你的例子呢?如果传递给源的对象格式错误,可能会将其解释为字符串而不是对象数组。看看你的控制台的例子,它似乎试图将你的源代码用作路径。让我想知道你是否可以在发布时解决你自己的问题。
当使用字符串时,自动完成插件预计字符串以指向URL资源,将返回JSON数据。
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
如何提供json?如果你是从PHP创建它,它最简单的只是建立一个stdClass对象或关联数组和'json_encode'它 – kmfk 2012-04-19 17:34:09
好吧..我使用'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