javascript - 将输入数字/文本添加到范围

标签 javascript jquery html

我有带有输入范围的字符串

 <input form="send" type="range" min="40" max="300" name="width[]" value="40">

表示一个部分的宽度。 如果用户需要某些部分,他可以单击添加按钮并获取具有新输入范围的新字符串。 所以我得到具有不同值(部分大小)的数组。

现在我需要添加输入数字/文本,这将重复范围值,反之亦然。用户可以输入一个数字,输入的范围也会改变。或者他改变输入范围,输入的数字也得到这个值。

我知道怎么做,但没有宽度数组。 例如

 <input type="range" name="width" min="40" max="200" value="40"
 oninput="this.form.widthPlus.value=this.value" /> <input
 type="number" name="widthPlus" min="40" max="200" value="40"
 oninput="this.form.width.value=this.value" />

有人可以告诉我如何输入数字重复值,并且如果用户使用添加按钮添加新字符串,也会被克隆。 我想我只用 JS/jQuery 就可以做到。

最佳答案

最简单的方法是每次都使用新的 value 属性。没有像 width[] (不起作用),而是 width0width1width2、..

因此,在代码中的某个位置,您有一个创建新输入元素的函数:

var counter = 0;
function addElement() {
    var html = '<input type="range"  name="width' +     counter + '" min="40" max="200" value="40" oninput="this.form.widthPlus' + counter + '.value=this.value" />' +
               '<input type="number" name="widthPlus' + counter + '" min="40" max="200" value="40" oninput="this.form.width'     + counter + '.value=this.value" />'; 
    $(".outerContainer").append(html);
    counter++;
}

每次用户单击按钮时,您都可以调用此函数来添加新元素。

还有一些替代方法不需要名称属性向上计数。如果用户输入某些内容,您可以调用 JS 函数,然后使用 jQuery 来确定编辑了哪个元素(第 n 个子元素)。但这有点复杂,需要更多代码。

关于javascript - 将输入数字/文本添加到范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45698929/

相关文章:

javascript - 如何在 JavaScript 中验证输入?

javascript - javascript 中非对象调用函数的不同行为

javascript - Chrome 扩展程序 : CSS Injection on Manifest Version 3

JQuery:隐藏然后显示

java - HTTP 状态 406。Spring MVC 4.0、jQuery、JSON

javascript - jQuery 获取表格行中的隐藏字段值

JavaScript 函数没有响应

javascript - 如何从 HTML 和 JavaScript 发布实时视频流?

javascript - 用 1 到 870 之间的数字填充 div

jquery - 粘性导航栏向上滚动不返回 "else"函数不删除类