如何通过单击rails显示不同的表单部分

时间:2018-03-05 11:44:37

标签: jquery ruby-on-rails ruby ruby-on-rails-5 jquery-rails

我有一个像部分一样的导航栏渲染。

例如:仪表板/菜单

在导航栏中,我有一个像导师,企业这样的链接。

点击这些链接后,它会呈现不同的表单部分。

例如:

_menu.html.erb

<a id="mentor" href="dasboard/settings">mentor</a>
<a id="corporate" href="dasboard/settings">corporate</a>
设置页面中的

: 设置页面中的导师和公司表单。

<div id="men">
<% form_for() %>
  #mentor fields
<% end %>
</div>

<div id="cor">
<% form_for() %>
  #corporate fields
<% end %>
</div>

设置页面中的jquery和css:

#men,#cor{
 display: none;
}
$("#mentor").on("click", function(){
  $("#men").css("display", "block");
)};
$("#corporate").on("click", function(){
  $("#cor").css("display", "block");
)};

但是,当我点击导航栏链接时,注意到了。 即使我没有收到任何错误。

更新

我在设置页面中放置了导航链接。工作正常。

但是,从菜单部分来看它没有用。

2 个答案:

答案 0 :(得分:0)

你没有正确选择,你的jquery sccript中有两个错误

  1. 您没有正确选择。此选择器$("men")不会选择任何内容,因为在您添加men之前,选择器不会#
  2. css({"display: block"})这也是在任何元素上添加css的错误方法
  3. 尝试以下

    $("#mentor").on("click", function(){
      $("#men").css("display", "block");
    )};
    $("#corporate").on("click", function(){
      $("#cor").css("display", "block");
    )};
    

答案 1 :(得分:0)

您的解决方案的正确代码是

// DEFINES:
$PRICE_INDEX_OPEN = 1;
$PRICE_INDEX_HIGH = 2;
$PRICE_INDEX_LOW  = 3;
$PRICE_INDEX_CLOSE= 4;

// A BUY-ENTRY_______________________________________________________LONG?
if ( end($candles)[$PRICE_INDEX_LOW] <= $bottom ) { // .......... GO LONG
...
}

// A SELL-ENTRY______________________________________________________SHORT?
if ( end($candles)[$PRICE_INDEX_HIGH] >= $higher ) { // ......... GO SHORT
...
}

以下是示例JSbin

注意:我添加了event.preventDefault()以防止链接向服务器发送请求,因此只呈现加载的代码。如果要通过从服务器提取数据来呈现表单,可以使用远程链接。