select_tag 选择后自动提交,并且保持选择的项

使用select来选择,,,选择就响应真是花了好大的功夫。。。。你妹。。。在controller设置变量来储存选择后的值。。。js中如果select选择为空那么传入的值是””而不是null

selectedIndex的值都是数字,从0开始,而不是option的值

controller

#sdn的网络流量监控
  def monitor
    @vms = VirtualMachine.owned_by(current_user).select(‘*‘).joins("left join vnets on virtual_machines.vnet_id = vnets.id").where("vnets.net_type = ‘sdn‘")
    @switches = [["second","_10seconds"],["minute","_5minutes"],["hour","_hour"],["day","_day"],["week","_week"],["month","_month"],["year","_year"]]
    @ccs = [["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"]]
    @jiange_value = params[:times]
    @col_value = params[:col]
    @lscol = @col_value.to_i

    id_hash = Hash.new
    id_hash["_10seconds"] = "1"
    id_hash["_5minutes"] = "2"
    id_hash["_hour"] = "3"
    id_hash["_day"] = "4"
    id_hash["_week"] = "5"
    id_hash["_month"] = "6"
    id_hash["_year"] = "7"
    @lsjiange = id_hash[@jiange_value]
  End

monitor.html.erb

<%= render partial: ‘vnet_nav_bar‘ %>
<meta charset="utf-8">
<head>
  <script>
    window.onload = initForm;
    function initForm()
    {
      //alert("<%= @lsjiange %>");
      document.getElementById(‘col‘).selectedIndex = <%= @lscol %>
      document.getElementById(‘times‘).selectedIndex = <%= @lsjiange %>
      document.getElementById("col").onchange = popu;
      document.getElementById("times").onchange = popu;
    }

    function popu()
    {
        //alert("bb");
        var form1 = document.getElementById("idform");
        form1.submit();

        var c = document.getElementById(‘col‘).selectedIndex;
        //alert(c);

    }
  </script>
</head>
<%= form_tag("monitor",:id => "idform",name: "idform") do |f| %>
  <%= select_tag "times", options_for_select(@switches),prompt: "选择间隔>时间" %>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <%= select_tag "col", options_for_select(@ccs), prompt: "选择列数" %>
  &nbsp;&nbsp;&nbsp;
  <%= submit_tag("刷新") %>

  <% columns = @col_value.to_i %>
  <% if columns == 0 %>
  <% columns = 2 %>

  <% if columns == 0 %>
  <% columns = 2 %>
  <% end %>

  <% if @jiange_value == "" %>
  <% @jiange_value = "_5minutes"%>
  <% end %>

  <% rows = @vms.size/columns %>
  <% unless (@vms.size%columns)==0 %>
  <% rows = rows + 1 %>
  <% end %>
  <% vmid = 0 %>

  <center>
    <table>
        <% for i in 0..rows-1 do %>
          <tr>
          <% for j in 0..columns-1 do %>
            <td>
            <% if @jiange_value.nil? %>
            <% @jiange_value = ‘_5minutes‘ %>
            <% end %>
            <%= image_tag("rrdtool/#{@vms[vmid].uuid}#{@jiange_value}.png") %>
            <% vmid = vmid + 1 %>
            </td>
            <% if vmid >= @vms.size %>
            <% break %>
            <% end %>
          <% end %>
          </tr>
        <% end %>
    </table>
  </center>
<% end %>

时间: 2025-01-12 08:17:17

select_tag 选择后自动提交,并且保持选择的项的相关文章

文件上传控件值发生变化后自动提交表单

当文件上传控件发生变化后自动提交表单,首先在页面加载完成后注册change事件,然后检测到值得变化后提交上传代码,代码备忘. <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> window.

ssi-uploader上传图片插件,点击选择文件按钮自动提交表单解决办法

先介绍一下这款插件,然后再谈使用中可能遇到的问题 ssi-uploader是一个JQuery的图片上传插件,界面比较美观 github地址:https://github.com/ssbeefeater/ssi-uploader 演示地址:http://ssbeefeater.github.io/#ssi-uploader/examples 使用文档:http://ssbeefeater.github.io/#ssi-uploader/documentation 这里就不说明怎么使用了,githu

HTML Select Option选择后触发jQuery事件代码实例

页面设计原由: 因为很多客户不知道如何来到我们公司,领导想让我在微信公众号上面做一个链接,客户可以直接通过微信公众号打开地图并导航到我们公司的办公地点. 实现起来并不难,但由于公司有很多办事处,所以需要设计一个选单,在用户选择相应办事处后自动加载相关的地图,于是我做了以下页面: (小弟不才,如代码有冗余或您有更好的写法还请各位指正,谢谢!底部有贴出原代码!) 那么如何写Select中的触发事件呢? 有以下几种方法: 方法一,纯JS代码: <select id="addr" onc

按Enter键后Form表单自动提交的问题

怪事年年有,今年特别多. 话说,最近项目中遇到一件怪事,当我鼠标focus在文本框中,轻轻敲了下回车键,尼玛页面突然刷新了,当时把宝宝给吓得. 接下来就是一番苦逼的烧脑和蛋疼~ 一.被表象所迷惑 突然出现这种情况,脑海中第一反应是,keydown事件是不是出问题了,然后找啊找啊找啊,然后没有然后. 在把input元素上的所有事件移除掉后,我自信的按了一下enter键.艾玛,又刷新了.心里那个苦哎. 二.列出所有可能 一阵捣鼓之后,脑海中列出了所有按下enter键后的改变,url改变,多了一个问号

《屏幕上的聪明决策》:4星。人类在手机/电脑上做选择的心理学研究的综述。不流畅的文本有助于理解和记忆,淘汰赛制可以有效降低选择后懊悔。

本书是人类在手机/电脑上做选择的心理学研究的综述,比较可信,有许多有趣的事实与结论.比较重要的结论有这么几个:1:人类对网站.文章的判断很大程度上以来瞬间感知和审美:2:不流畅的文本有助于理解和记忆:3:可选项太多的情况下,可以考虑淘汰赛制,每次让用户从4个选项中选择一个最满意的.这样可以有效降低选择后懊悔. 总体评价4星. 以下是书中一些重要的结论与信息的摘抄,#号后面是kindle电子书中的页码: 1:人的注意力已经成为“21世纪的低硫原油”.如果可以控制人类注意力的杠杆,那么你几乎可以获取

select option项选择后跳转页面

第一种方法: 跳转到当前页: location.href为跳转当前的页面 <select name="here " onchange="location.href=this.options[this.selectedIndex].value;"> <option value= "http://www.baidu.com "> 百度 </option> <option value= "http:/

羊车门问题 有3扇关闭的门,一扇门后停着汽车,另外两扇门后是山羊,主持人知道每扇门后是什么。参赛者首先选择一扇门。在开启它之前,主持人会从另外两扇门中打开一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。请问,参赛者更换选择后,能否增加猜中汽车的机会?请通过设计并编写程序验证,并给出自己的解释。答案要求以如下方式给出。

1.我认为会增加选中汽车的机会. 原因如下: (1)不更换选择,那么选对汽车的概率为1/3:(2)更换选择,假设第一次选对了汽车,则概率为1/3 * 0 =0,假设第一次没选对汽车,则概率为2/3 * 1 = 2/3,总共的概率何为2/3. 2.程序源代码如下: 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 import random 5 data={1:'car',2:'goat1',3:'goat2'} 6 7 '''更换选择后,猜

按下enter键后表单自动提交问题

在HTML的form表单里,按下enter键之后,默认情况下表单会自动提交. 在公司一个项目里,按下enter键自动提交表单的查询结果与按下搜索框的搜索结果页面显示不一样,按下搜索按钮之后是通过Ajax请求返回结果:而按下enter键是直接post请求然后跳转返回一个页面,失去了页面样式及导航等. 一开以为是写了js代码导致按下enter键之后会触发表单提交,后来把js代码全部移除也是一样地按下enter键会触发表单提交.到网上搜索发现是因为默认情况下在form表单内按下enter键会触发表单自

选择音频自动播放

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>选择音频自动播放</title></head><body><audio controls autoplay loop> <source src="music/莫斯科没有眼泪(钢琴曲).mp3" typ