使用jQuery属性前缀选择器使用localStorage值填充表单

时间:2014-04-16 15:40:33

标签: jquery json forms attributes local-storage

我通过对它(它们)进行字符串化并使用localStorage来保存JSON数据。我将数据重新创建为对象,并尝试将对象转换为可以填充HTML表单的值,但未成功。以下jQuery代码段迭代我存储的值,并在控制台中准确输出我想要的内容:

$(document).ready(function(){
        var test01stuff = $.parseJSON(localStorage.getItem("test01Info"));
                   $.each(test01stuff, function(i,item){
                        $.each(item, function(name,value){
                            console.log(name + ":" + value);
                            $( "id[name|='" + name + "']" ).val( value );
                        });
                    });
    });

这绝对适用于像这样的对象:

{
    "test01Info": [
        {
            "test01_Num": "4",
            "test01_Length": "387",
            "test01_Depth": "23"
        }
    ]
}

例如,test01_Length:387之类的名称/值对在控制台中正常,我的所有其他存储值也是如此。但是尝试在下一行中使用jQuery的属性前缀选择器来填充我的HTML基本内容:

<form id='test01form'>
  <input type='number' name='testy' id='test01_Length' min='0' max='999' data-role='none'>
</form>

每次都失败 - 输入保持空白,但控制台中没有抛出任何错误。我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

@Matt实际上已经回答了上述问题,但我无法将他的评论指定为答案。我有:

$( "id[name|='" + name + "']" ).val( value );

当我需要时:

$( "[id|='" + name + "']" ).val( value );