ruby-on-rails - 在 AJAX 请求期间使用 js 禁用所有 best_in_place 字段

标签 ruby-on-rails best-in-place

我在 rails 3.2 应用程序中使用 best_in_place 2.1.0。

我有一组最佳位置字段,它们的值相互依赖。
因为修改一个会更改所有这些的值,所以当从其中任何一个发送 AJAX 请求时,我需要禁用所有这些的编辑。

如果您注意到,最好就地在等待 AJAX 请求完成时已经禁用了一个字段。我只是想扩展它,以便它禁用所有这些。

我尝试覆盖 onclick

$('.best_in_place').bind("onclick", function(e){ 
    e.stopPropogation();
    e.cancelBubble();
    return false; 
});

但这没有用。有时它似乎在创建最佳现场字段之前被调用,但其他时候它似乎发生在之后。无论哪种方式,它对我都不起作用。

我也想过使用"best_in_place:activate" jQuery 触发器,但在 this.activateForm() 之后调用在 BestInPlaceEditor.prototype{.. activate: }所以这是行不通的。

我真的不知道该怎么做。任何可以动态禁用所有或选择的最佳现场字段的东西都适合我。

最佳答案

如果有人仍在为此寻找解决方案,我会向元素添加一个类,并通过 css 取消事件:

在js中:

$('.best-in-place.parent-setting').on("ajax:success", function(e, t) {
    var enable = $(this).data('bip-value');
    var childrenSettings = $(this).data('children-setting');
    $('.best-in-place.'+childrenSettings).toggleClass('disabled', !enable);
});

在CSS中:
.best-in-place.disabled{
  opacity: .5;
  pointer-events: none;
}

关于ruby-on-rails - 在 AJAX 请求期间使用 js 禁用所有 best_in_place 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18004322/

相关文章:

ruby-on-rails - 在删除用户方法中传递条件时出错

mysql - 查询 rails 中的加入关联

javascript - Rails - 用最好的 gem 创造记录

ruby-on-rails-3 - 如何将 Best In Place 与 twitter bootstrap 结合使用

javascript - Best In Place 不是一个功能 Rails 5

ruby-on-rails - 如何在 Rails 中将文本字段范围指定为 best_in_place?

c# - 具有相同数据源的多个组合框 (C#)

ruby-on-rails - 如何在索引 View 中显示图像

ruby-on-rails - 用符号转换哈希数组

ruby-on-rails - 如何将 psubscribe 与 redis gem 一起使用?