0
我在categories.html.erb
下面的代碼:單選按鈕被點擊時radio_button不改變
<%= form_for(@marker) do |f| %>
<div> <%= f.radio_button("category", "1") %><label>Category 1</label> </div>
<div> <%= f.radio_button("category", "2") %><label>Category 2</label> </div>
<div> <%= f.radio_button("category", "3") %><label>Category 3</label> </div>
<% end %>
和下面的JavaScript代碼categories.js
:
var update = function() {
return console.log("Category Selected");
};
$("input[type='radio']").change(update);
單選按鈕似乎從來沒有改變(當我點擊一個單選按鈕時,我的控制檯日誌上沒有顯示)。
我最初想要做的是在每個類別中都有一個subcategory div
,這個類型只會在相應的單選按鈕被選中時顯示(並在單擊另一個按鈕時隱藏)。
更新:我得到這個工作用下面的代碼:
$(document).ready(function(){
$("input[type=radio]").change(function(){
$(".subcategory").hide();
$("#" + $(this).val()).show();
});
});
不知道爲什麼,我只好把裏面的代碼.ready
不過,說實話。 :$
的原因是裝載HTML元素之前,你的改變的事件處理程序被加載。你可以簡單地在腳本的最後添加腳本.. – Praveen
@Praveen但是如果我想在另一個文件中使用js代碼,我必須把它放在'.ready'中? – sebkkom
沒有問題。您可以簡單地在body標籤的末尾添加'