【发布时间】:2018-12-25 15:43:37
【问题描述】:
我有一个可用的javascript:
.search_client_users
= form_tag admin_clients_path, method: "get", class: "search_form" do
= label_tag 'search_term', 'Search for client users:'
= text_field_tag 'search_term', nil, autocomplete: "off", size: "50"
.client_list
- content_for :javascript do
= javascript_include_tag 'admin/search_client_users'
它会搜索客户端并列出与查询匹配的客户端。
我想以普通的 simple_form 使用它:
.main_form.client_emails
= simple_form_for(:domainNameSwap, url: { action: "update" }, html: { method: :put }) do |f|
.input-row
= f.input :oldDomain, :label => "Domain Name",wrapper_html: { id: 'search_term' }
.submit-row
.col-xs-5
.submit
= f.submit "Update domains", id: "submit", :class => "btn btn-primary submit"
.client_list
- content_for :javascript do
= javascript_include_tag 'admin/search_client_users'
但我不知道如何将标签添加到 javascript...
似乎工作代码中相关的部分是text_field_tag = 'search_term' 这似乎是将文本字段与javascript相关联的原因。但我不知道如何将它与 simple_form 一起使用...
下面的咖啡脚本,以防它很重要:
class App.ClientUserList
constructor: ->
@incrementalSearchAttempts = 0
search: (searchTerm, completeCallback) =>
handleResponseWithOrderAwareness = (attemptNumber, response) =>
if attemptNumber >= @incrementalSearchAttempts
completeCallback(response)
@incrementalSearchAttempts++
onComplete = _.partial(handleResponseWithOrderAwareness, @incrementalSearchAttempts)
$.get('/admin/manage_clients/client_list', { search_term: searchTerm }).complete(onComplete)
class App.Views.SearchClientUsers extends Backbone.View
events:
"keyup input[name='search_term']": "search",
"click .profile_attribute": "showClientUserProfile"
initialize: =>
@clientUserList = new App.ClientUserList()
search: =>
searchTerm = $('.search_form input[name=search_term]').val()
@clientUserList.search(searchTerm, @render)
showClientUserProfile: (event) =>
window.location = $(event.currentTarget).closest('tr').data('client-path')
render: (response) =>
@$el.find('.client_list').html(response.responseText)
$ ->
new App.Views.SearchClientUsers(el: $('.search_client_users')).search()
预计到达时间: 简化:我想我需要两件事:
- 我需要将 simple_form 的类设置为“search_form”
- 我需要做与
text_field_tag行等效的操作,但对于 f.input 行。
我很确定第一个应该只是在 simple_form 的 html 部分添加class: "search_form"。
但是,我不知道如何设置“text_field_tag”
【问题讨论】:
标签: javascript ruby-on-rails backbone.js coffeescript simple-form