以下のコード(Coffeescript)では、jQueryオートコンプリートデータソースのAJAX呼び出しで、コードの5行目に、2つのパラメーター(term:とll:)を渡しています。ll:$(this)を取得しようとしています。 .autocompleteが適用されたDOM要素になります。この場合、その$('[type = "text"] [name * = "[location]"]')5行目の($ this)でそのDOM要素を具体的に参照する必要があります。そのスコープでは、DOM要素ではない他の何かを指します。誰かが私がする必要があることを説明するのを手伝ってもらえますか?
$('[type="text"][name*="[location]"]').autocomplete(
source: (request, response) ->
$.ajax
url: $('[type="text"][name*="[location]"]').data('autocomplete-source')
data: {term: request.term, ll: $(this).siblings('[name*="[geocode_location]"]')}
contentType: "application/json; charset=utf-8"
success: (data) ->
response $.map(data, (item) ->
value: item.value
label: item.label
address: item.address
)
focus: (event, ui) ->
event.preventDefault()
$(this).val ui.item.label
select: (event, ui) ->
event.preventDefault()
$(this).val ui.item.label
$(this).siblings('[name*="[foursquare_id]"]').val ui.item.value
).data("autocomplete")._renderItem = (ul, item) ->
$("<li>").data("item.autocomplete", item).append("<a>" + item.label + "<br>" + item.address + "</a>").appendTo ul