使用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 = [["]]
    @jiange_value = params[:times]
    @col_value = params[:col]
    @lscol = @col_value.to_i

    id_hash = Hash.new
    id_hash["
    id_hash["
    id_hash["
    id_hash["
    id_hash["
    id_hash["
    id_hash["
    @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 %>

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

  1. JS实现日历控件选择后自动填充

    最近在做人事档案的项目,在做项目的初期对B/S这块不是很熟悉,感觉信心不是很强,随着和师哥同组人员的交流后发现,调试程序越来越好了,现在信心是倍增,只要自己自己踏实的去研究.理解代码慢慢的效果就出来了 ...

  2. yii gridview 时间段筛选(一个输入框,自动提交,高清大图)

    yii gridview功能强大,但是时间筛选比较麻烦,与数据库的存储格式有关,本文的时间格式是date类型 那么问题来了,yii只提供关于时间的text搜索格式,就是只能查找精确日期比如2017-8 ...

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

    先介绍一下这款插件,然后再谈使用中可能遇到的问题 ssi-uploader是一个JQuery的图片上传插件,界面比较美观 github地址:https://github.com/ssbeefeater ...

  4. HTML Select 标签选择后触发jQuery事件代码实例

    页面设计原由: 因为很多客户不知道如何来到我们公司,领导想让我在微信公众号上面做一个链接,客户可以直接通过微信公众号打开地图并导航到我们公司的办公地点. 实现起来并不难,但由于公司有很多办事处,所以需 ...

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

    怪事年年有,今年特别多. 话说,最近项目中遇到一件怪事,当我鼠标focus在文本框中,轻轻敲了下回车键,尼玛页面突然刷新了,当时把宝宝给吓得. 接下来就是一番苦逼的烧脑和蛋疼~ 一.被表象所迷惑 突然 ...

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

    在HTML的form表单里,按下enter键之后,默认情况下表单会自动提交. 在公司一个项目里,按下enter键自动提交表单的查询结果与按下搜索框的搜索结果页面显示不一样,按下搜索按钮之后是通过Aja ...

  7. resharper安装后,一不小心点错了(选择了object browser)

    打开Resharper,选择Options,然后选择Tools中的External Sources,你的情况是选择了Navigation to Object Brower这一项了,换成第一个Defau ...

  8. VB.net DateTimePicker 初始化为空,选择后显示日期

    目的:当某记录的日期数据为空的时候,DateTimePicker 不以默认当前时间显示. 优点:避免不规则的时间格式输入:符合平时遇到的时间输入习惯 缺点:设置要代码,没有textbox控件那么方便设 ...

  9. 【转】Expire Google Drive Files 让Google Docs云盘共享连接在指定时间后自动失效

    最近在清理Google Docs中之前共享过的文件链接,发现Google Docs多人协作共享过的链接会一直存在,在实际操作中较不灵活.正好订阅的RSS推送了Pseric写的这篇文章 - Expire ...

随机推荐

  1. NativeScript - JS 构建跨平台的原生 APP

    使用 NativeScript,你可以用现有的 JavaScript 和 CSS 技术来编写 iOS.Android 和 Windows Phone 原生移动应用程序.由原生平台的呈现引擎呈现界面而不 ...

  2. c#网络通信框架networkcomms内核解析之九 自定义处理方法的运行机制

    NetworkComms网络通信框架序言 本文基于networkcomms2.3.1开源版本  gplv3协议 我们自己写的处理方法都称之为自定义处理方法 比如,我们在服务器上写的与登陆相关的处理方法 ...

  3. 【C#】WM 消息大全

    消息名 消息值 说明 WM_CREATE 0x0001 应用程序创建一个窗口 WM_DESTROY 0x0002 一个窗口被销毁 WM_MOVE 0x0003 移动一个窗口 WM_SIZE 0x000 ...

  4. jira attachement directorey,workflow---extention.

    workflow---extention. https://confluence.atlassian.com/jirakb/jira-miscellaneous-workflow-extensions ...

  5. 拿nodejs快速搭建简单Oauth认证和restful API server攻略

    拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...

  6. redis学习(一)Redis应用场景

    Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象构建不同的 ...

  7. java匿名对象

    java学习面向对象之匿名内部类 之前我们提到“匿名”这个字眼的时候,是在学习new对象的时候,创建匿名对象的时候用到的,之所以说是匿名,是因为直接创建对象,而没有把这个对象赋值给某个值,才称之为匿名 ...

  8. android 数据存储之SharePreference 的几种方式

    1. 常见的 getSharedPreferences(String filename,mode) 指定sp文件的名称,生成的文件名为 filename.xml 2.getPreferences(mo ...

  9. 与众不同 windows phone (10) - Push Notification(推送通知)之推送 Tile 通知, 推送自定义信息

    原文:与众不同 windows phone (10) - Push Notification(推送通知)之推送 Tile 通知, 推送自定义信息 [索引页][源码下载] 与众不同 windows ph ...

  10. java整合flex

    java+flex项目整合 评论0   字号:大中小 订阅 第一种:javaproject和flexproject独立 这样的方式也是非常多人使用的方式.flex程序猿和java程序猿相互独立的工作. ...