【问题标题】:How to store dictionary in input field (HTML)?如何在输入字段(HTML)中存储字典?
【发布时间】:2012-11-25 08:58:30
【问题描述】:

我有一本包含多个字段的大字典。

var deal = {'foo':'moo','foo1':'moo1','foo2':'moo2','foo3':'moo3','foo4':'moo4','foo5' :'moo5'}

我想将其存储为隐藏的输入字段。 即

`
<div class="deal">
<input type="hidden" value=deal />//unique for this div
</div>
<div class="deal">
<input type="hidden" value=deal />//unique for this div
</div>
<div class="deal">
<input type="hidden" value=deal />//unique for this div
</div>

检索

  $(".deal").on('click',function(){
     var deal= $(this).find('input').val();

});

然后使用 jQuery 检索它。在通过 jQuery 检索此内容时,我遇到了一些问题,即我认为没有存储整个数据。(一半的字典被截断。) 我应该只查询我的数据库并得到这个吗?或者有没有办法将字典存储为输入字段值? 如果问题不清楚,请发表评论。我会做必要的补充。

【问题讨论】:

  • 为什么要直接将其存储在输入中而不是仅仅声明一个js变量?
  • 因为这是每个交易对象所独有的。并且有多个这样的对象。我将检索被点击的交易对象独有的字典。
  • 你是否尝试过序列化和存储,并在需要时反序列化
  • 我认为浏览器不会截断输入字段,至少在您达到 非常 不合理长度之前不会。 Chrome 在隐藏字段中存储至少 16mb 没有任何问题。
  • 我认为你最好在你的 js 代码上创建一个结构来存储与名称相关的所有数据(如果你愿意的话,一个字典字典)。当一个元素被点击时,你指的是字典中与被点击的元素名称相匹配的元素。

标签: jquery html input dictionary


【解决方案1】:

也许您可以将您的数据存储在 Javascript 中,并将您的 HTML 元素引用到那些 JS 变量?喜欢:

var dict1 = {name:"val", name2:"val"};
<div class="deal" data-dict="dict1"></div>

然后像这样绑定它:

$(".deal").on('click',function(){
    var dictName = $(this).data('dict'),
        deal = window[dictName];
});

【讨论】:

    猜你喜欢
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多