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

发布于 2025-01-03 06:15:12 字数 824 浏览 0 评论 0原文

我有 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()

当我单击重置按钮时,我需要重置。但除课程组收集外,所有表单元素均已清理。

我该如何管理它?

I've 2 scroll down menus like

<%= 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" %>

and the javascript code is like that

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()

I need to reset when I click to reset button. but all forms elements are cleaned except lessons group collection.

How can I manage it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不顾 2025-01-10 06:15:12

表单重置按钮应该恢复所有选择的默认选项。但是,如果您需要一些东西来覆盖任何覆盖重置按钮行为的内容,这里有一些普通的旧 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'));
        });
    });
});

The form reset button should restore all your select's default options. But if you need something to override whatever it is overriding the reset button behaviour, here's some plain old jQuery (Sorry, but I'm not familiar with CoffeeScript).

See it at the following 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'));
        });
    });
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文