HTML5 输入类型范围 - 非线性序列?

2023-12-28

我想使用滑块控件来输入选择。可能的值为:5000、25000、50000、75000 和 100000。但是,我无法获取范围输入来限制这些选择。我得到的最接近的是:

<datalist id="valid-options">
  <option>5000</option>
  <option>25000</option>
  <option>50000</option>
  <option>75000</option>
  <option>100000</option>
</datalist>
<input type="range" min="5000" max="100000" step="5000" list="valid-options" ng-model="selectedValue" />

您可以在此处查看完整示例:http://jsfiddle.net/au14Lv2t/1/ http://jsfiddle.net/au14Lv2t/1/

此解决方案的问题在于它允许使用无效值,例如 10000、15000 等。

我正在寻找 AngularJS(或纯 HTML5/JS/CSS)解决方案。我不想介绍 jQuery。

Thanks!


您可以搜索最接近的有效值并将每个值更改事件的输入值设置为该值

var inputElement = document.getElementById('customRangeInput');

inputElement.oninput = setInput;
inputElement.onchange = setInput;   // IE fix

function setInput(){
    inputElement.value = closestValue(inputElement.value);
}

var validValues = [5000,25000,50000,75000,100000];
function closestValue(input)
{
    var differences = [];
    for (var i = 0; i < validValues.length; i++)    
        differences.push( Math.abs(validValues[i] - input));

    var index = indexOfSmallest(differences);
    return validValues[index];      
}

function indexOfSmallest(inputArray) {
    var lowest = 0;
    for (var i = 1; i < inputArray.length; i++) {
        if (inputArray[i] < inputArray[lowest]) lowest = i;
    }
    return lowest;
}

html 应该看起来像这样

<input id="customRangeInput" type="range" min="5000" max="100000" step="5000" list="valid-options" ng-model="selectedValue" />Selected Value: {{ selectedValue }}</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML5 输入类型范围 - 非线性序列? 的相关文章

  • 如何更改 Google Maps v3 API for Directions 中的开始和结束标记图像

    我使用 DirectionsRender 绘制了一条路线 但我不知道如何用我自己的标记替换通用的 Google 标记 我知道并在正常的谷歌地图情况下使用它 但发现很难用开始和结束的方向标记来做到这一点 如果这是一个愚蠢的问题 感谢您的任何建
  • 响应式图像 - srcset 和尺寸属性 - 如何正确使用两者:基于设备像素比和基于视口的选择一起?

    到目前为止 我经常读到这个问题 并且它也发生在我自己的项目中 这里介绍一下我到目前为止所发现的关于 srcset 和 size 属性的内容 关于如何使用有两种不同的可能性srcset 属性 来源 w3c http w3c github io
  • 摩卡 - Chai Karma“套件未定义”

    我对 jscript tdd 很陌生 遇到了问题 希望有人能告诉我我在做什么 在浏览器中运行测试 通过 HTML 文件 一切正常 通过节点和业力运行它们我得到以下异常 我想在 node js 主机的 karma 中使用 Mocha 和 Ch
  • 在打字稿中导入 json

    我是 typescript 的新手 在我的项目中 我们使用 typescript2 在我的要求之一中 我需要导入 json 文件 所以我创建了 d ts 文件如下 test d ts declare module json const va
  • 调整图像大小并将画布旋转 90 度

    这里有很多关于在 js 上使用画布旋转图像的主题 我阅读了其中的大部分内容 但无法找到解决我的问题的方法 我正在接收任何分辨率的图像 来自上传组件 我将其大小调整为 1024x768 如下所示 var canvas document cre
  • HTML5 MediaSource 适用于某些 mp4 文件,但不适用于其他文件(相同的编解码器)

    我正在玩 MediaSource API 代码直接取自 Mozilla 的示例页面 https developer mozilla org en US docs Web API MediaSource endOfStream https d
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • 将 UMD Javascript 模块导入浏览器

    你好 我正在对 RxJS 进行一些研究 我可以通过在浏览器中引用它来使用该库 如下所示 它使用全局对象命名空间变量 Rx 导入 我可以制作可观察的东西并做所有有趣的事情 当我将 src 更改为指向最新的 UMD 文件时 一切都会崩溃 如下所
  • 图像背景不透明度不影响边框

    如何设置背景不透明度而不影响边框线不透明度 我找到的解决方案没有帮助 div class selected img src assets img image product 1 thumbnail jpg alt product 1 thu
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • Firebase 函数 onWrite 未被调用

    我正在尝试使用 Firebase 函数实现一个触发器 该触发器会复制数据库中的一些数据 我想观看所有添加的内容votes user vote 结构为 我尝试的代码是 const functions require firebase func
  • 正则表达式 - 从 markdown 字符串中提取所有标题

    我在用灰质 https www npmjs com package gray matter 以便将文件系统中的 MD 文件解析为字符串 解析器产生的结果是这样的字符串 n Clean er ReactJS Code Conditional
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 代码镜像错误:未捕获错误:扩展集中无法识别扩展值([对象对象])

    全部 我目前正在从事一个React Electron项目 该项目的目标是完成一个Markdown编辑器 当我配置codemirror 该程序报告错误说 Uncaught Error Unrecognized extension value
  • 使用css bootstrap时如何仅向一列添加右边框?

    我正在尝试使用CSS引导框架 http getbootstrap com css tables在我的项目中 我正在使用带有以下类的表table table bordered table striped 我想删除除第一列之外的所有列的边框 这
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • 在 Shopify 商店中嵌入 Vue 组件

    在产品页面中 我尝试显示自定义 Vue 组件 为简洁起见 该组件根据给定的产品 ID 显示 Firebase 数据库中的一些信息 我最初尝试将其制作为 Shopify 应用程序 以便我可以访问他们的 API 我实现了 OAuth 并且可以检
  • 从 FileReader 设置背景图像样式

    我正在寻找一种解决方案 允许我从文件上传输入中获取文件并通过设置 document body style backgroundImage 来预览它 以下代码用于在 Image 元素中显示预览 function setImage id tar
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea
  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro

随机推荐

  • 通过 Crystal Web 服务以编程方式设置 Crystal Server 上 Crystal Report 的数据源

    如何更改在 Crystal 服务器中运行的 Crystal 报表在运行时使用的数据源 数据库服务器 用户名 密码 我有一台水晶服务器 并上传了具有一组数据源的报告 托管在服务器 A 用户 A 密码 A 上的 SQL Server 2005
  • Cache-Control: max-age=0 和 no-cache 有什么区别?

    标题Cache Control max age 0意味着内容立即被视为过时 并且必须重新获取 这实际上与Cache Control no cache 我有同样的问题 并在搜索中找到了一些信息 您的问题作为结果之一出现 这就是我所决定的 有两
  • sqlcipher - sqlcipher 的安全性如何?它被黑客入侵了吗?

    它在页面级别加密 SQLite 数据库 好吧 没问题 但是你的源代码呢 它已编译 但即使已编译 有人也可以反编译它 检索您的密码并解密数据库吗 SQLCipher 的安全性如何 根据SQLCipher设计文档 http sqlcipher
  • 是否有更快的代码用于向表中添加新行 - Excel VBA

    每当我的代码找到要添加到其中的新值时 我都会向表中添加一个新行 我为此使用的代码Set newRow ProjectTable ListRows Add工作正常 但这使其运行速度非常慢 是否有代码可以完成相同的任务但运行速度更快 Dim P
  • 如何在flutter中自定义标签栏宽度?

    您好 我们可以在 flutter 中自定义标签栏宽度吗 我的标签栏宽度是固定的 所以当我的标签栏中有长文本时 它不会完全显示 我想让我的标签栏宽度根据内容灵活 所以当我的文本只是短文本时 标签栏宽度会很小 当文本是长文本时 选项卡栏宽度大于
  • 来自 github 存储库的 Scala sbt 文件依赖项

    是否可以包含来自 github 的依赖项 存储库没有 jar 文件 只有 build sbt 文件和源文件夹 您可以创建一个新项目 该项目指向您的源代码build sbt然后使用dependsOn lazy val projectIDepe
  • 下标运算符中的逗号运算符?

    我对逗号运算符很困惑 我从来没有见过这样的代码和这样的语法 但我很好奇它在任何地方都有用吗 为什么它在 c 20 中被弃用 include
  • 如何创建全局热键?

    我想创建一个热键 因此当您按下时 它应该将一些字节写入我附加的进程中的内存地址 到目前为止 我有这段代码 但似乎只有当我专注于主应用程序时它才有效 否则它将无法工作 我想让它工作 所以它会做我想做的事 即使我不关注主应用程序 private
  • xlsxwriter下拉列表Excel错误

    要对特定列中的所有行应用数据验证 请使用以下顺序 import xlsxwriter workbook xlsxwriter Workbook data validate2 xlsx worksheet workbook add works
  • 冲突解决后强制在 TFS 中合并

    TFS 2010 VS 2010 我们在 TFS 中遇到了一种情况 开发人员没有遵循正确的合并程序 当我将他的开发者目录与主干进行比较时 我得到了许多标记为不同或根本不在主干中的文件 他最后一次合并 签入主干是在 2011 05 26 他最
  • CUDA 功能和 CUDA 版本:兼容吗?

    我有一台具有 1 1 计算能力 CUDA GPU 的机器 我想重新安装 CUDA 我想我会选择 5 0 CUDA 功能和 CUDA 版本之间是否存在兼容性之类的问题 将 CUDA 5 0 与 C C 1 1 一起使用时会遇到麻烦吗 图形处理
  • 如何使用 overpass-api 获取我所在点附近的兴趣点?

    我正在使用 Overpass API 我无法找到我的地点附近 大约 100 200 英里 的一些兴趣点 咖啡馆 医院 学校 我只有纬度和经度 Overpass API 提供了使用您的地名获取 POI 的机会 但我没有 我只有坐标 我怎样才能
  • 如何在 Java EE 中使用 CDI 编写 main()?

    我有一个想要运行的无客户端应用程序 它没有客户端 但会进行 HTTP 调用并充当其他服务的客户端 它可能会运行几个小时或几天 但不需要定期运行 只需一次性 我想在 Java EE 7 容器中运行它 因为标准上下文依赖注入 CD 和标准 JA
  • Django 模型定义竞赛

    如果模型 A 依赖于所定义的模型 B 但模型 B 也依赖于所定义的模型 A 那么如何处理这种情况 例如 我有 class event models Model competition start models DateField compe
  • PointerByReference 不返回值

    我正在尝试通过 JNA 从 Java 调用 C 函数 我想传入一个字符串 然后返回一个字符串 这是通过使用 in 参数和 out 参数来完成的 我用PointerByReference来代表char 输出参数 对 C 的调用有效 但是Poi
  • 让 Restangular 的 .remove 在正文与 URI 中发送数据

    我正在将 Angular REST 调用转换为使用 Restangular 在此转换期间 我只是将调用移至使用 Restangular one controller remove object 这是调用正确的 URI 和方法 DELETE
  • Redux - 错误:mergeProps 的类型对象值无效

    我在使删除调度事件正常工作时遇到问题 我正在尝试从状态中删除列表项 我得到的错误如下 Error Invalid value of type object for mergeProps argument when connecting co
  • 使用汽车包中的散点图绘制并排图

    是否有某种原因无法并排放置两个散点图 来自汽车包装 图形 library car str UN par mfrow c 1 2 scatterplot infant mortality gdp data UN xlab GDP per ca
  • 如何在android中实现两个同步视图之间的滑入和滑出动画

    我知道我可以使用AnimatedVisibility可组合功能并实现可见性动画的滑入动画 但我想要实现的是当一个布局处于进入动画而另一个处于退出动画时 类似于下图 NB 我知道我应该为不同的屏幕使用导航组合 并且目的地之间的动画仍在开发中
  • HTML5 输入类型范围 - 非线性序列?

    我想使用滑块控件来输入选择 可能的值为 5000 25000 50000 75000 和 100000 但是 我无法获取范围输入来限制这些选择 我得到的最接近的是