0

我将放置某种分隔符来定义字段标签、字段数据和下拉选项文本中的单独字段之间的边界。这将用于解析文本以获取侧面视觉效果。用户将能够看到分隔符。

我应该使用什么作为用户不会注意到但在正则表达式中仍然很容易区分的分隔符?

我正在考虑使用方括号(数据中不会有括号,也可以筛选其他分隔符)。

[ --select some option-- ]
 | [name] Travis [number] 9801 [root] 99 |
4

4 回答 4

3

如果这只是将数据与元素相关联以便在客户端处理,更好的方法可能是将此信息存储在数据属性中。例如:

<select>
    <option value="1" data-name="Travis" data-number="9801" data-root="99">Travis</option>
</select>

然后 JavaScript 可以使用数据属性(使用 jQuery it's yourOption.data('root'),而使用纯 JavaScript,您可以像使用普通属性一样使用它),除非他查看您的源,否则用户甚至不会知道它的存在。

于 2012-05-04T23:42:01.747 回答
2

考虑将数据放入 OPTION 元素的值中......您甚至可以在那里使用 JSON,例如:

<option value="{name:Travis, number:9801, root:99}">Travis 9801</option>
于 2012-05-04T22:34:21.820 回答
1

我不知道方括号是否是分隔符的好选择,主要是因为您只会使用左括号或右括号,并且文本看起来不完整(例如Value1 ] Value2 ] Value 3)。

就个人而言,我更喜欢使用竖线 ( |) 作为分隔符,因为它不是常用字符。

于 2012-05-04T22:35:21.967 回答
0

不要将数据存储在 GUI 字符串中。如果你的老板要求你停止在下拉选项中显示“根”,告诉他你必须重写你的数据模型是愚蠢的。数据不喜欢存在于字符串中——它们是不透明的、缓慢的、不可能使类型安全的,并且容易受到注入攻击。

您的程序需要了解一个名叫 Travis 的人,编号为 9801,root 为 99,因此以编程方式保留该数据并从中生成您的选项字符串(格式化为您喜欢的任何格式)。

于 2012-05-04T23:08:23.260 回答