javascript - 渲染部分 js 后链接不起作用

标签 javascript ruby-on-rails ruby-on-rails-4

所以我想要的是在更新一个事件后重新渲染一个表格。

我是这样做的:

## My Controller:

respond_to do |format|
  if schedule_child.save
     sql = "schedules.doctor_id = ? AND schedules.location_id = ? AND schedule_children.start_time >= ? AND schedule_children.start_time <= ?"
     @schedules = ScheduleChild.joins(:schedule).where(sql, current_doctor.id, session[:location_id], Time.now, Time.now + 7.days).order(start_time: :asc).page(params[:page]).per(7)
     format.js {render :layout => false}
  end
end

我的 js.erb:

$('#schedules').html( "<%= escape_javascript( render "schedules" ) %>" );

我的看法:

%a.status_link.btn.btn-success.btn-sm{"data-href" => set_schedule_status_path(location_id: session[:location_id] ,id: schedule.id), :style => "#{schedule.is_away ? 'display: none' : '' }", :id => "#{schedule.id}", :remote => "true"}
          %i.fa.fa-check-square-o 
          %span Available

表格已成功呈现,但我无法单击 View 中的链接。我做错了什么?感谢您的帮助:)

最佳答案

使用 "data-href" 作为链接而不是 "href" 需要额外的 javascript 才能使链接可用。可能您已准备好该 javascript 并在 document.ready 上调用它,并将您的 javascript 逻辑应用于具有数据属性“data-href”的每个链接。

如果是这种情况,您有四种选择(只是猜测,因为我不知道您使用的 data-href 的逻辑是什么):

  • 使用href代替data-href
  • 在您的 js.erb 中调用启用链接的逻辑(在您替换表格之后)
  • document.readyajaxStop 上调用启用链接的逻辑>
  • 在始终存在的父节点上定义逻辑,如 $('body').on('click', 'a[data-href]', ...

关于javascript - 渲染部分 js 后链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27504878/

相关文章:

javascript - 更改 jquery ui 进度条的值

javascript - Google LineChart 中显示的时间不正确

javascript - 以纯文本或 XML 形式解析 HTML

ruby-on-rails - 尝试执行 rails 命令时与 spring 相关的错误

ruby-on-rails - 跳过 ActiveAdmin 中特定成员操作的身份验证

javascript - JQuery-UI Datepicker 无法读取未定义的属性 'replace'

ruby-on-rails - 如何为 state_machine 转换回调编写 rspec 测试

ruby - Figaro - Rails 缺少用于开发的 secret_key_base

ruby-on-rails - Rails - 迁移错误 - PG::InvalidSchemaName: 错误:

ruby-on-rails - Dockernized Nginx +(Rails + Unicorn)+ Redis + PostgreSQL:connect()失败(111:连接被拒绝)