首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >根据@media width size在表单中的不同输入之间切换

根据@media width size在表单中的不同输入之间切换
EN

Stack Overflow用户
提问于 2016-08-30 18:06:08
回答 2查看 56关注 0票数 0

我有一张表格。我想以if @media (min-width: 768px)的形式使用输入A,否则我想使用输入B。

我需要切换输入的原因是因为select.js is buggy in mobile views, however it is awesome on desktop views.

使用带bootstrap的xs-hidden and xs-visible或使用display: block/none不起作用。输入仍然在源代码中,并且仍将被提交。

示例:

代码语言:javascript
运行
AI代码解释
复制
<div class="col-xs-12 hidden-xs tag-lg">
   <%= f.input :tag_list, input_html: { class: 'tags', multiple: "multiple" }, collection: ActsAsTaggableOn::Tag.all, value_method: :name, placeholder: '', label: "Tags (seperated by commas):" %>
</div>

<div class="col-xs-12 visible-xs-block tag-sm">
  <%= f.label :tag_list, 'Tags (seperated by commas):', class: 'label-tags'%>
  <%= f.autocomplete_field :tag_list, autocomplete_tag_name_photos_path, :"data-delimiter" => ', ', 'data-auto-focus' => true, :id_element => '#tag_element' %>
</div>

@media (min-width: 768px) {
.tag-lg {
 display: block;   
}
.tag-sm {
    display: none;
}
}

@media (min-width: 100px) and (max-width: 767px) {
.tag-lg {
 display: none;   
}
.tag-sm {
    display: block;
}
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-30 18:23:40

根据您尝试使用的浏览器,您可以使用javascript的matchMedia()方法来检测视口的宽度(IE11+),也可以使用您正在使用的任何javascript库(jQuery)来禁用某些页面宽度的控件。提交表单时,禁用的控件不会发布到服务器。

正如您已经发现的,这不能简单地使用CSS来完成,因为控件即使在隐藏之后仍然存在于DOM中。

注意:您可能不希望直接从DOM中删除控件,因为您可能需要根据窗口大小调整、设备旋转等重新添加它们。

未经测试的示例:

代码语言:javascript
运行
AI代码解释
复制
$(document).ready(function() {
    if (( window ).width() > 767){
        $('.tag-sm select').prop( "disabled", true );
    } 
    else{
        $('.tag-lg select').prop( "disabled", true );
    }
});
票数 0
EN

Stack Overflow用户

发布于 2016-08-30 18:13:23

这段代码将显示/隐藏相关的HTML代码。如果你想用纯CSS消除HTML代码,那是不可能的。CSS只帮助您设计内容的样式,而不是将其从DOM中删除。

代码语言:javascript
运行
AI代码解释
复制
.tag-lg {
  display: none;   
}
.tag-sm {
  display: block;
}
@media (min-width: 100px) and (min-width: 768px) {
  .tag-lg {
     display: block;   
  }
  .tag-sm {
     display: none;
  }
}
代码语言:javascript
运行
AI代码解释
复制
<div class="col-xs-12 hidden-xs tag-lg">
  BIG TEXT
</div>

<div class="col-xs-12 visible-xs-block tag-sm">
  Small text
</div>

您可以使用JQuery来找出屏幕大小$( window ).width();,并根据您获得的值删除请求的元素。

代码语言:javascript
运行
AI代码解释
复制
$(document).ready(function() {
    if (( window ).width() > 767){
        $('.tag-sm').remove();
    } 
    else{
        $('.tag-lg').remove();
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39234293

复制
相关文章
[CSS] media query媒体查询中的min-width和max-width
时常分不清到底是哪个最大哪个最小,以及他们表示的范围 举例子,下面这个意思是大于900px的时候,匹配900px  到无限大 @media screen and (min-width:900px) 举例子,下面这个意思是小于900px的时候,匹配0  到900px @media screen and (max-width:900px)
唯一Chat
2022/03/07
1.7K0
如何实现根据环境切换不同配置?
拿开发环境和正式环境来说,比如开发环境的nacos地址是nacos.dev.biggerboy.com:8848而正式环境是nacos.biggerboy.com:8848
编程大道
2023/03/17
6820
如何实现根据环境切换不同配置?
size.width>0 && size.height>0 in function ‘cv::imshow‘
百度后看到碰到类似问题的答案,是因为路径不对,也就是说找不到图片,所以报错,修改路径后成功显示图片,效果如下:
狼啸风云
2021/01/05
5.3K0
size.width>0 && size.height>0 in function ‘cv::imshow‘
03_SpringBoot不同环境之间的相互切换
在软件系统开发的不同阶段中,因为当前环境的不同,我们需要进行系统环境的切换,在SpringBoot中针对环境的切换,做了统一处理,是的环境的切换,变得异常简单。
全栈程序员站长
2022/07/05
9070
03_SpringBoot不同环境之间的相互切换
[android] 在不同的activity之间传递数据
添加<TextView/>控件,设置控件内容水平居中,android:gravity=”center_horizontal”
唯一Chat
2019/09/10
2.3K0
[android] 在不同的activity之间传递数据
【HTML5】HTML5 新增 input 表单 ( 邮箱输入表单 | 网址输入表单 | 日期输入表单 | 时间输入表单 | 电话输入表单 | 搜索栏输入表单 | 颜色选择器输入表单 )
一、HTML5 新增 input 表单 ---- HTML5 新增 input 表单 : 邮箱输入表单 : 必须输入邮箱 , 如果输入格式错误 , 提交时会在对话框中报错 ; <input type="email" /> URL 输入表单 : 只能输入网址 , 格式错误会在对话框中报错 ; <input type="url" /> 日期输入表单 : 右侧的下拉菜单选择日期 ; 如果在手机中打开 , 会弹出手机中自带的日期选择对话框 ; <input type="date" /> 时间输入表
韩曙亮
2023/04/24
3.5K0
【HTML5】HTML5 新增 input 表单 ( 邮箱输入表单 | 网址输入表单 | 日期输入表单 | 时间输入表单 | 电话输入表单 | 搜索栏输入表单 | 颜色选择器输入表单 )
在Activity切换之间实现Transition动画
在Android 5.0执行,如果需要在Activity切换之间实现动画,需要实现 overridePendingTransition()方法,并实现入场动画和退场动画。而在5.0之后,出现了一些Material Design的转场动画,先看下demo样子。
用户1108631
2019/08/17
1.9K0
在布局切换之间实现Transition动画
同一个Activity之间,布局切换是可以有动画效果的,下面是仿照API Demo中的一个例子,如下图:
用户1108631
2019/08/17
1.6K0
Spring 中根据环境切换配置 @Profile
这里在方法上使用了 @Profile 注解来表示对应的环境,也就是说当指定环境之后,只有标注对应环境名的 Bean 才能被注册到容器中去,没有标注任何 @Profile 的方法默认直接注册进去。
wsuo
2020/07/30
1.1K0
Spring 中根据环境切换配置 @Profile
java中==、equals的不同AND在js中==、===的不同
       1.==操作符:首先,对于非基本数据类型的对象比较,相同内存中存储的变量的值是否相等,注意是相同内存地址的才可,并且数值相同(当然地址相同,值也一定相同)才会返回true.     但是,对于基本数据类型的比较(比如:int flot double等),值相同,"=="比较便会返回true.(这是编译的规则,当进行基本数据类型的比较时,会编译生成if_icmpne指令不会进行比较地址。而进行对象比较时,会生成if_icmpne指令,会比较地址。生成的指令都是不同的)。
洋仔聊编程
2019/01/15
4.1K0
OpenCV中的width和widthstep[通俗易懂]
在OpenCV里边,widthStep必须是4的倍数,从而实现字节对齐,有利于提高运算速度。
全栈程序员站长
2022/06/30
7520
通过休眠在 Linux 和 windows 之间无缝切换
Linux 电脑挂了一个 Windows 虚拟机,但是有些东西还得是真机才管用,比如 Windows 大型独占软件,或者备份国内某空间占用贼大但只要你一找文件它就告诉你文件已过期的社交软件的聊天记录。备份可以在虚拟机中完成,但是只能是电脑连接手机热点,速度太慢了咱没那时间。
网名重要么
2023/06/07
2.9K0
通过休眠在 Linux 和 windows 之间无缝切换
step(iter)、epoch、batch size之间的关系
转自:https://blog.csdn.net/wcy23580/article/details/90082221
西西嘛呦
2020/08/26
1.3K0
step(iter)、epoch、batch size之间的关系
SpringBoot 中的 Logback 配置:根据环境读取不同配置
SpringBoot 默认使用 Logback 框架作为日志框架。最近有个想法“由于配置了多环境,比如开发环境,测试环境等,想根据不同环境指定日志文件的存储位置”
张云飞Vir
2020/11/03
3.5K0
uniapp根据不同的状态渲染不同的标签
<view class="text-grey text-xs"> <button v-if="item.isLeave === 0">离厂解绑</button> <span v-else > {{item.leaveTime | formatDate }} </span> </view> json数据 { "msg": "查询成功", "total": 15, "c
王小婷
2021/07/08
1.6K0
OpenCV中的width与widthStep
1.在opencv中width表示的是图像的每行像素数,widthstep表示的是存储一行像素需要的字节数,位了快速读取数据,在opencv中一般使widthStep为4的倍数,从而实现字节的对齐,有利于提高运算速度。
全栈程序员站长
2022/09/02
7950
OpenCV中的width与widthStep
在Windows 8 RP中安装media center
  近些日子发布的win8 rp又一次掀起了win8热潮,在疯狂下载之后很多网友注意到win8 rp是不带有media center的。同时出现了添加新功能的选项。其实在win8 rp版中media center并没有阉割掉,只需要简单输入升级密钥即可重新添加。
reizhi
2022/09/26
4880
在Windows 8 RP中安装media center
解决在MAC上输入法切换慢的问题
Mac Book Pro升级到Catalina 10.15.1 之后,不论是系统自带的中文输入法,还是安转的第三方中文输入法,当使用快捷键“Ctrl + Space”进行中英文输入法切换的时候,经常会出现切换失败的情况。 导致希望切换到中文输入法的时候但是依然只能输入英文,或者希望输入英文的时候但是依然保持在中文输入法状态。 尝试了各种各样的解决办法,如:更改切换输入法的快捷键为“Shift”,但是这样带来的问题是当需要输入大写字母的时候按住Shift键就会切换输入法,使用起来的也非常不顺手。 最后的解决办法(以安装百度拼音输入法为例),分为两步: 第一步:百度输入法设置 第二步:系统快捷键设置
编程随笔
2019/12/02
5.1K0
点击加载更多

相似问题

在不同的表单之间切换

20

使用无线输入在部分表单之间切换

216

bounds.size.width与bounds.width在between中的区别?

12

在表单之间切换

12

在表单之间切换

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档