我有一个使用 HTML 的选择标记的简单下拉菜单。选择标签的代码变为:
<select name="menu_id" id="menu_id">
<option selected="selected" value="1">Dinner</option>
<option value="2">Lunch</option>
</select>
在我的 menu.js.coffee 文件中我有:
$("select#menu_id").change(-> $(this).closest("form").submit())
这变成了 menu.js:
(function() {
$("select#menu_id").change(function() {
return $(this).closest("form").submit();
});
}).call(this);
问题是更改选择菜单没有提交表单!它甚至不输入上面的 menu.js 代码(我在那里放置断点,并且在选择菜单选项后它永远不会进入)。
如果我然后只是复制上面的 (function() {
,并将其粘贴到 Firebug 或 Chrome 控制台,那么它会按预期运行并且更改菜单实际上会提交表单。那么我应该如何在 Rails 中编写 coffeescript 代码以允许在更改选择菜单时提交表单?
我正在使用 Rails 3.2.8。
最佳答案
尝试将您的代码放在 $(document).ready () ->
block 中。
$(document).ready () ->
$("select#menu_id").change(-> $(this).closest("form").submit())
关于javascript - 在 Rails 中自动提交 HTML 选择下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12562940/