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);
});
它不起作用,为什么?
- 如果我捕获所有数据如何将发现移动到 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();
我有一些代码,像这样:
%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);
});
它不起作用,为什么?
- 如果我捕获所有数据如何将发现移动到 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();