Haml与JavaScript和Ruby交流

Haml and JavaScript and Ruby communication

我有一些代码,像这样:

  %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 用于 select 数据并将结果移至 ruby 代码。但我有一些问题: 1.如果我写JS代码

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

它不起作用,为什么?

  1. 如果我捕获所有数据如何将发现移动到 ruby 代码。我不知道。

请帮我解决这个问题。

语法错误。检查 this

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

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

有用的 haml 语法的旁注:

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

可以简单写成

#alerts_tab.settings_tab

你的语法错误:应该是

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

但是,由于您使用的是 jQuery,您不妨使用 jQuery 的语法,它更简洁:

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