我一直在研究一个模态,其中包含一个由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元素中获取文本,如果是这样,我该怎么做?任何建议都会有帮助。感谢。
编辑:我已经做了一些阅读,看起来这比我想象的要困难得多。我想我必须在选择它之后用AJAX传递值。谁知道我怎么能这样做?
答案 0 :(得分:2)
如果您不打算加载页面加载所需的所有信息(这是一种非常有效的方法),那么是的,您需要使用AJAX,它通过javascript异步从服务器检索其他数据。 / p>
无论如何,你需要一个带有javascript / jquery的onclick处理程序,它可以获得你在{1}}指定的user_id
的值。
这应该是非常容易的DOM操作。这是一些示例代码。然而,AJAX是一个全新的世界,所以我建议你阅读。还有许多JS / JQuery库和框架可以帮助您完成您想要完成的工作。
div