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