gpt4 book ai didi

javascript - 从 Rails 助手调用 JS 函数

转载 作者:行者123 更新时间:2023-11-28 00:01:06 25 4
gpt4 key购买 nike

我有一个辅助函数,可以使用新地址将字段添加到 new_order 表单中。

def link_to_add_address_fields(f, association)
new_object = f.object.send(association).klass.new
id = new_object.object_id
fields = f.fields_for(association, new_object, child_index: id) do |builder|
render partial: 'orders/order_address_fields', locals: {a: builder}
end

content_tag :div, class: 'form-group add_new_address_links' do
content_tag :div, class: 'row' do
content_tag :div, class: 'col-lg-12' do
link_to 'Add new address', 'javascript:void(0)', class: 'btn btn_new_address', data: {id: id, fields: fields.gsub('\n', '')}
end
end
end
end

因此,当用户单击 btn_new_address 链接时,orders/order_address_fields 部分中的新地址字段会出现在表单中。

这是orders/order_address_fields部分:

.form-group.new_order_address_fields
.row
.col-lg-10
= a.text_field :street, class: 'form-control new_order_street'
= a.text_field :building, class: 'form-control new_order_building'
= a.text_field :entrance, class: 'form-control new_order_entrance'
= link_to '<i class="fa fa-remove"></i>'.html_safe, 'javascript:void(0)', class: 'btn btn-default remove_address'
.col-lg-2.hidden-xs
= link_to '<i class="fa fa-map-marker"></i>'.html_safe, 'javascript:void(0)', class: 'btn btn-default full-size find_me_on_map'

但是有一个 find_me_on_map 链接,当用户点击它时,它会运行 JS 函数。这是来自 orders.coffee

的函数
jQuery.fn.clickOnFindMeOnMapButton = ->
$(this).click ->
street_field = $(this).parent('div').parent('div').find('input.new_order_street')
building_field = $(this).parent('div').parent('div').find('input.new_order_building')
findMeOnMap(street_field, building_field)

ready = ->

$('a.find_me_on_map').clickOnFindMeOnMapButton()

$(document).ready(ready)
$(document).on('page:load', ready)

它适用于具有一个地址字段的新加载页面,但当我添加另一个字段时,我需要将此函数应用于新加载地址字段中的 find_me_on_map 链接。我不知道该怎么做。

感谢您的帮助!

最佳答案

你需要实时更改,在新的 jquery 中你可以这样做:

$(document).on 'click', 'a.find_me_on_map' ->
# call function

关于javascript - 从 Rails 助手调用 JS 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31796501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com