使用HTML元素的值创建Rails变量

时间:2014-07-23 22:13:51

标签: jquery html ruby-on-rails ruby

我一直在研究一个模态,其中包含一个由Rails循环生成的div列表。该列表允许我选择其中一个项目,然后在侧面显示该项目。

  <style>
      #feedback {
          font-size: 1.4em;
          border: none;

      }

      #selectable_<%=request.id.to_s %> .ui-selecting {
          border: none;
          background: #b5d4ee;
      }

      #selectable_<%=request.id.to_s %> .ui-selected {
          background: #a3e0f2;
          color: white;
          border: none;

      }

      #selectable_<%=request.id.to_s %> {
          list-style-type: none;
          margin: 0;
          padding: 0;
          width: 60%;
          border: none;

      }

      #selectable_<%=request.id.to_s %> li {
          margin: 3px;
          padding: 0.4em;
          font-size: 1.4em;
          height: 18px;
          border: none;

      }
  </style>
  <script>
      $(function () {
          $("#selectable_<%=request.id.to_s%>").selectable({
              selected: function(event, ui) {
                  var result = $("#select-result-<%=request.id.to_s%>").empty();

                  $(ui.selected).addClass("ui-selected").siblings().removeClass("ui-selected").each(
                          function(key,value){
                              $(value).find('*').removeClass("ui-selected");


                          }

                  );
                  var index = $("#selectable_<%= request.id.to_s %> .ui-widget-content").html( );
                  result.append(( index ));
              }

          });
      });
  </script>
</head>

<p id="feedback">
  <span class="pull-right" id="select-result-<%= request.id.to_s %>">No one selected.</span>
</p>

<div class="" id="selectable_<%= request.id.to_s %>" style="width:175px;
        height:220px;
        overflow:scroll;">

  <% conversations.each do |reply| %>

      <% if reply.subject == request.title %>
          <div class="ui-widget-content" style="border: none">
            <div style="margin-left: 5px" class="round-image-50">
              <%= image_tag(reply.originator.logo.url(:small)) %>
            </div>
            <br>
            <%= link_to reply.originator.name, user_path(reply.originator), :id => 'select-result-' + request.id.to_s %>

            <%= reply.originator.email %>

            <div id="user_id"> <%= reply.originator %> </div>

          </div>
      <% end %>
  <% end %>

</div>

我现在需要做的是存储属于所选项目的用户ID,以便我可以提交一份表格,将表格发送到我的数据库。我把Rails字段放在一个单独的div .user_id中,以便它与其他字段隔离。虽然我仍然不确定如何将它存储在变量中以便在表单中使用。我应该使用一种方法从HTML元素中获取文本,如果是这样,我该怎么做?任何建议都会有帮助。感谢。

the list scrolls, in case it looks kinda weird

编辑:我已经做了一些阅读,看起来这比我想象的要困难得多。我想我必须在选择它之后用AJAX传递值。谁知道我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

如果您不打算加载页面加载所需的所有信息(这是一种非常有效的方法),那么是的,您需要使用AJAX,它通过javascript异步从服务器检索其他数据。 / p>

无论如何,你需要一个带有javascript / jquery的onclick处理程序,它可以获得你在{1}}指定的user_id的值。

这应该是非常容易的DOM操作。这是一些示例代码。然而,AJAX是一个全新的世界,所以我建议你阅读。还有许多JS / JQuery库和框架可以帮助您完成您想要完成的工作。

div