如何做HTML / CSS表单助手/弹出窗口

时间:2012-03-27 22:48:45

标签: html ruby-on-rails css twitter-bootstrap popover

我目前正试图弄清楚如何做popovers / form helpers。如果你真的不知道我在说什么,这就是我所指的: http://www.ashrobbins.com/wp-content/uploads/2012/01/sliding-form-helpers.png

我想做以下事情:

#1:用户位置是红色方块。并且黄色方块是相关的,所以我的大黄色方块显示有关第一个方块的信息。这就是我的意思: http://postimage.org/image/wgzedx2fv/

PS:请注意,第三列中的框需要很大!

#2 对于此步骤,当用户转到第二行(红色方块)时,我希望第三列中的框更改为对应于第二行的信息。希望这会有所帮助: http://postimage.org/image/69y7hyk63/

我无法弄清楚如何做到这一点。我目前正在使用RoR和Bootstrap,但我不确定它是否有任何关系,它可能只与CSS / HTML有关。

我已经尝试过为我的html做这样的事情并且它在某种程度上起作用,但它看起来并不像我想要的那样好。

一切都会有所帮助。 谢谢!

更新: 根据要求,我有一些这样的代码:

<div class="span4" style="margin-left: 0px; ">

<div class="span3" style="margin-left: 0px; ">here where the explanation will go</div>

或者我的RoR:

  • 查看

= render :partial => 'shared/unitrow', :locals => {:f => f, :main_input => :offwarfare, :input_label => "Offensive", :power => OFFWARFARE_POWER}

  • 部分

%div{:id => "wrapper"}

=f.input main_input, :label => input_label, :input_html => { :class => 'unitinputstyle'}, :wrapper_html => { :class => "unitinputdiv" }

%=div{:class => "unitpricediv"}

=power

%div{:class => "clear"}

仅供参考,我正在使用HAML。我只是不能在这里正确地设计它......

1 个答案:

答案 0 :(得分:1)

对于客户端上发生的任何动态(如DOM操作),您将需要使用Javascript。我用jQuery为你写了一个例子;但你可以自由地使用你喜欢的任何一个库(或根本没有)。

$("#interactiveForm input").focus(function() {
  var target = $(this).attr("id"); // Gets the ID of the focused input

  $("#infoBox p:visible").hide(); // Hides visible content (if any)
  $("#infoBox").find("p#"+target).show(); // Shows the paragraph with the corresponding ID
});

http://jsfiddle.net/LQNS8/