【问题标题】:Haml and JavaScript and Ruby communicationHaml 与 JavaScript 和 Ruby 通信
【发布时间】:2015-06-09 13:54:47
【问题描述】:

我有一些代码,像这样:

  %div{:id=>"alerts_tab",:class=>"settings_tab"}
    %div{:class=>"main_block"}
      %div{:class=>"left_block"}
        %p Select 1
        = radio_button_tag 'gender', 'male', :id=>"daily_frequency"
        Daily
        = radio_button_tag 'gender', 'male', :id=>"weekly_frequency"
        Weekly
        = radio_button_tag 'gender', 'male', :id=>"monthly_frequency"
        Monthly
        %p Try it
        %input{:name => "malfunction_affects_more", :type => "checkbox", :class => "check_box", :value=>"off"}
        AAAAAAAAAAAAAAAAAAA
        %select{:class=>"custom_drop_down"}
          %option 1% users 'test'

我尝试使用 JS 选择数据并将结果移动到 ruby​​ 代码。但是我有一些问题: 1.如果我写JS代码

:javascript
  $( "#save_settings" ).click(function() {
    var value = document.getElementById('daily_frequency');
    alert(value);
  });

它不工作,为什么?

  1. 如果我捕获了所有数据,如何将结果转移到 ruby​​ 代码中。我不知道。

请帮我解决这个问题。

【问题讨论】:

  • 对于初学者来说,我没有看到带有idsave_settingsDOM 对象?
  • save_settings 它是我的按钮的 id 并且正在工作。我关于其他的问题。为什么 var value = document.getElementById('daily_frequency'); 不起作用?
  • 工作,对不起 :) document.getElementById('daily_frequency').checked

标签: javascript ruby-on-rails ruby haml


【解决方案1】:

语法错误。签出this

第三个参数设置checked 属性,所以应该可以:

= radio_button_tag 'gender', 'male', false, :id=>"daily_frequency"

有用的haml语法的旁注:

%div{:id=>"alerts_tab",:class=>"settings_tab"}

可以写成

#alerts_tab.settings_tab

【讨论】:

  • 如果我使用下一个代码:document.getElementById('none_frequency').value 总是我只得到 male 而不是 gender。为什么?
  • 那是因为 'male' 是一个值,而 'gender' 是一个名字
  • 好的。如果复选框控件启用我得到 true 其他 false 怎么办?
  • 我不明白。第三个参数 - true 或 false - 设置是否默认选中单选按钮。 (已点击)
【解决方案2】:

你的语法错误:应该是

var value = document.getElementById('daily_frequency').value;

不过,既然你用的是 jQuery,那你还不如用 jQuery 的语法,这样更简洁:

var value = $("#daily_frequency").val();

【讨论】:

    猜你喜欢
    • 2011-03-05
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 2012-01-16
    • 2011-02-08
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    相关资源
    最近更新 更多