• 解决IE下select option不支持display none样式


    万恶的IE,option竟然不支持display样式,想到的解决思路有二个:

      1、ajax联动查询

      2、jQuery的remove()、after()方法

    方法1的不好之处是初始页面,需要显示全部IP,本来已经从后台查询了一次,如果再利用ajax,会给服务器造成压力,所以采用方法2。

    后台code

    // 获取所有平台类型IP
    $vcenter_ip
    = $this->vcenter_mgr->get_vcenter_info(null, null, 'ip, virt_type', 'INET_ATON(ip)'); $virt_ip = array(); if (!empty($vcenter_ip)) { foreach ($vcenter_ip as $arr) { $virt_ip[]= array( 'virt_type' => $arr['virt_type'], 'virt_ip' => $arr['ip'], ); } } exit(json_encode($virt_ip));

    前端code

    // 初始时显示所有IP
    var virt_ip_obj = <?= $virt_ip ?>; // 后台返回的json数据
    var virt_ip_opt = ''; if (virt_ip_obj.length > 0) { $.each(virt_ip_obj, function(index, val) { virt_ip_opt += '<option class="ip_opt" value="'+val.virt_ip+'">'+val.virt_ip+'</option>'; }); } $('.virt_ip option:first').after(virt_ip_opt); // change事件 $('.adv-table').on('change', '.tts-options', function(event) { var virt_type = $(this).val(); $('select .ip_opt').remove(); // 移除所有option项 if (virt_type > 0) { var new_ip_opt = ''; if (virt_ip_obj.length > 0) { $.each(virt_ip_obj, function(i, arr) { if (arr.virt_type === virt_type) { new_ip_opt += '<option class="ip_opt" value="'+arr.virt_ip+'">'+arr.virt_ip+'</option>'; } }); } $('.virt_ip option:first').after(new_ip_opt); // 选择指定平台时只显示指定平台下的所有IP } else { $('.virt_ip option:first').after(virt_ip_opt); // 选择所有平台时,显示全部IP } });

  • 相关阅读:
    java基础 IO流
    删除API
    Get API
    Document APIs
    使用Java High Level REST Client操作elasticsearch
    Azure 上的物联网产品介绍
    SSIS Passing Parameters to an ADO .NET Source query;向ado.net数据源传递参数。
    Azure API Management(5)缓存
    Azure API Management(6)Validate JWT Token
    Azure API Management(4)体验APIM 版本管理
  • 原文地址:https://www.cnblogs.com/gentsir/p/9505812.html
Copyright © 2020-2023  润新知