如何重置多个向下滚动选定的菜单

时间:2012-02-06 13:37:03

标签: javascript jquery menu coffeescript reset

我有2个向下滚动的菜单,如

<%= f.label :term_id, "TERM *"%>
    <br>
<%= f.collection_select :term_id, Term.order(:id), :id, :name, include_blank: true %>
    <br>
<%= f.label :lesson_id, "LESSON *" %>
    <br>
<%= f.grouped_collection_select :lesson_id, Term.order(:name), :lessons, :name, :id, :name, include_blank: "Ders Seçiniz" %>

和javascript代码就是那样

jQuery ->
  lessons = $('#demand_lesson_id').html()
  $('#demand_term_id').change ->
    term = $('#demand_term_id :selected').text()
    options = $(lessons).filter("optgroup[label='#{term}']").html()
    if options
      $('#demand_lesson_id').html(options)
    else
      $('#demand_lesson_id').empty()

单击重置按钮时需要重置。但除了课程组集外,所有表单元素都被清除。

我该如何管理?

1 个答案:

答案 0 :(得分:0)

表单重置按钮应该恢复所有选择的默认选项。但是如果你需要覆盖重置按钮行为的任何东西,这里有一些简单的旧jQuery(对不起,但我不熟悉CoffeeScript)。

请参阅以下jsFiddle

$(function(){

    // reset button click
    $('#myReset').click(function(){

        // cycle through each option and restore to default
        $('#myForm select option').each(function(){
            $(this).prop('selected', $(this).prop('defaultSelected'));
        });
    });
});