【问题标题】:Bootstrap - Tokenfield, store values as an array not a stringBootstrap - Tokenfield,将值存储为数组而不是字符串
【发布时间】:2019-03-15 02:28:14
【问题描述】:

我正在使用https://github.com/sliptree/bootstrap-tokenfield,并注意到这些值存储为字符串,而不是数组。有没有办法将值存储为数组而不是字符串?

<input type="text" class="form-control" id="tokenfield" value='A,B,C' />

https://jsfiddle.net/ds2xp4w1/1/

我还注意到 value 属性似乎没有更新。

【问题讨论】:

  • split(',') 也可以在这里工作
  • 我在找图书馆的时候有没有可以改的选项?或者在提交时更改它的方法?
  • 在您的小提琴中,它已经将值存储在字符串中。请查看jsfiddle.net/7s5xkLon/1
  • @Kishan,这是正确的,我需要根据我的帖子将它存储为一个数组。谢谢

标签: javascript jquery arrays token


【解决方案1】:

有两种方式

1.使用split(',')在dom中存储,单独的字符串转换为数组

console.log($('#tokenfield').val().trim().split(','))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" class="form-control" id="tokenfield" value='A,B,C' />

2.JSON.stringify()格式.将字符串转为数组

$('#tokenfield').val(JSON.stringify(['A','B','C']))

//after retrive

console.log(JSON.parse($('#tokenfield').val()))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <input type="text" class="form-control" id="tokenfield" value='' />

【讨论】:

  • 如果我在值更改时这样做,则标记不起作用,因为它需要是一个字符串才能正确显示标记。但是,我需要它是一个数组,以便我的参数处理表单提交。想法?
  • 是的。我不熟悉那个 github lib。请提供一些工作小提琴?
  • ,你看过我发布的小提琴了吗?
  • 检查这个小提琴jsfiddle.net/8cmob4h6。我添加了点击功能,您需要在提交时调用该功能
  • 是的,我知道您在做什么,但是该值需要更新并仍然在 UI 中维护正确的标签。您的示例显示了如何将字符串转换为数组,但没有解决主要问题,即能够将要提交的值作为数组存储在参数中,并且仍然保持正确的 UI。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 2018-08-04
  • 1970-01-01
  • 1970-01-01
  • 2022-12-01
  • 1970-01-01
  • 2021-09-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多