2015-09-24 68 views
1

我希望有人能幫助我,我有gmaps-自動完成,軌工作正常,但我難倒如何寫的經度和緯度來一個表單提交的隱藏字段。gmaps-自動完成,軌道寫郎+長寫入隱藏字段

我可以寫一個就不能讓元首或引導

這一部分的尾巴下面默認的方法可以通過構造來代替:

positionOutputter updateUI updateMap 這些方法用於控制gmaps數據如何用於更新頁面上的用戶界面,如位置輸出和地圖位置更新。自定義這些需要。

(從GmapsCompleterDefaultAssist取)默認的邏輯是:

defaultUpdateMap: (geometry) -> 
    map  = @map 
    marker = @marker 

    map.fitBounds(geometry.viewport) if map 
    marker.setPosition(geometry.location) if marker 

    # fill in the UI elements with new position data 
    defaultUpdateUI: (address, latLng) -> 
    $(@inputField).autocomplete 'close' 

    @debug 'country', @country 

    updateAdr = address.replace ', ' + @country, '' 
    updateAdr = address 

    @debug 'updateAdr', updateAdr 

    $(@inputField).val updateAdr 
    @positionOutputter latLng 

    defaultPositionOutputter: (latLng) -> 
    $('#gmaps-output-latitude').html latLng.lat() 
    $('#gmaps-output-longitude').html latLng.lng() 

所有我想,我需要做的是改變最後一部分是.VAL而不是html的

而且在何處以及如何這被添加到一個咖啡因我迷路了。

如果我直接寫隱藏字段,我得到以下幾點:

<input id="gmaps-output-longitude" type="hidden" name="submission[longitude]">-019019992</input> 

這顯然是不能爲形式傳遞,因爲它不是價值=「」

我試着寫作一個跨度,並做一個改變,寫入隱藏的領域,但沒有任何喜悅。

jQuery -> 

    completer = new GmapsCompleter 
     inputField: '#gmaps-input-address' 
     errorField: '#gmaps-error' 

    completer.autoCompleteInit 
     country: "us" 


    $('#gmaps-output-longitude').on('change', updateChange) 

updateChange = -> 
    $('#submission_longitude').val($('#gmaps-output-longitude')) 
    $('#submission_latitude').val($('#gmaps-output-latitude')) 

任何意見非常感謝。

回答

1

所以原來我已經錯過了一點,但以供將來參考,以覆蓋默認行爲,你需要包括一個CoffeeScript的擴展選項,幫助和參考。

這是我的最後一份工作咖啡文件,在一個文件中,只要確保你超班。

jQuery -> 
    completer = new GmapsCompleter 
    inputField: '#gmaps-input-address' 
    errorField: '#gmaps-error' 
    assist: MyCompleterAssist 


    completer.autoCompleteInit 
    country: "us" 



class MyCompleterAssist extends GmapsCompleterDefaultAssist 
    positionOutputter: (latLng) -> 
    $('#gmaps-output-latitude').val latLng.lat() 
    $('#gmaps-output-longitude').val latLng.lng() 
+0

奇怪。隨着你的實現,我得到「SyntaxError:[stdin]:11:14:意外。」錯誤。當我刪除「assist:MyCompleterAssist」這一行時,錯誤消失了。什麼可能是錯的? – mirap

+0

沒有縮進錯誤?你到底了嗎?對不起,答覆很慢。 – Stewart