我们正在寻找某种类型的控件,最好是使用Bootstrap实现。我们不相信这种情况并不常见,但我们可能错了。
它本质上是一个列表框,但也包括:
最终目标是能够在不离开键盘的情况下快速有效地输入一组值(电话号码......),同时允许用户无痛地编辑或删除现有值。 (表单相对较大,是LOB应用程序的一部分。)
详细说明:
答案 0 :(得分:2)
由于我不知道任何适合您需求的控件,我会尝试建议一些实现选项:
<强> CONTENTEDITABLE:强>
查看contenteditable
属性 - demo here。
这不符合你的所有要求(第12点是这里的主要阻止者),但它非常好OOTB,并且(根据MDN)跨浏览器。
上面提供的演示可能是您自己的解决方案的良好起点。
每行一个输入:
另一种方法是为每一行使用一个输入。 我提供了simple demo,在按下输入时添加“新行”。
虽然此实现还需要对键盘事件进行一些装箱,但这个每行一元素模型似乎更能反映您的业务需求并且非常灵活。 不过,我会担心更大的数据集的性能。
这也可以与contenteditable
方法混合使用(例如,可编辑的<li>
元素列表),但它似乎没有带来任何好处。它甚至会带来一些问题,因为contenteditable
默认情况下不会限制行数;使用常规input
,您可以保证一个元素包含一行。