首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何轻松地为ActionCable发送DOM元素?

如何轻松地为ActionCable发送DOM元素?
EN

Stack Overflow用户
提问于 2019-04-08 21:43:31
回答 1查看 29关注 0票数 1

我不确定我是否只是在尝试做一些疯狂的事情,也许我只是需要指出正确的方向。我有一个元素列表,带有勾选框。我需要两个人知道(面试情况)对方是否勾选了一个框。ActionCable似乎非常适合做这件事。

一切都设置好了,动作电缆,但我需要发送需要勾选的确切元素到动作电缆,这样它就可以在另一个人的前端勾选它。我试图发送DOM元素,但它被序列化为JSON,并且我无法在另一端将其更改回来(或者只是不知道如何使用它)。

下面是我目前为止的代码。第一个box.html是在表单上勾选您自己的框。然后,在第一个preventDefault()之后,我尝试将相同的框元素发送给actioncable,以便在对方的前端勾选它。

代码语言:javascript
运行
复制
  $('.btn-group-vertical').each(function(){
    var $this = $(this);
    var success = $this.find('.applicant-success')
    var failure = $this.find('.applicant-failure')
    var box = $this.parent().next().find('.int_success');
    success.on('click', function(e) {
      box.html("<img class='interview-img3' src='/images/tick.png'>");
      e.preventDefault();
      App.room.ping(box);
    });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-08 22:07:39

DOM元素在连接的一端是页面文档的本地元素。您需要引入一些唯一的id,它将在所有涉及的系统中有效。它可能是来自相应数据库记录的id、一些自然密钥,甚至是SecureRandom.hex (但在这种情况下,您必须确保所涉及的两个用户都将获得相同的id)

例如:<div class='int_success' data-id='<%= applicant.id %>'>

App.room.ping(box.data('id'))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55574878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档