我正在尝试从本地存储中检索一些项目,如果它们在那里,则在页面上显示一些内容。这是我正在尝试做的事情:
function loadData()
{       
    var transData = storage.get('TransInfo');
    if(transData != undefined)
    {
        $('#UserName').val(transData[0]);
        if(transData[1] == 'Blue')
        {
            $('#radio-choice-1').attr('checked', true);
        }
        else
        {
            $('#radio-choice-2').attr('checked', true);
        }
        $('#TransNum').val(transData[2]);
        if(transData[3] == 'A')
        {
            $('#radio-choice-1-board').attr('checked', true);
        }
        else
        {
            $('#radio-choice-2-board').attr('checked', true);
        }
        unHideAll();
        return true;
    }
};
当最终加载数据时,我想调用 unHideAll():
//THIS FUNCTION FAILS WHEN CALLED!!
function unHideAll()
{
    /*
    $('#radio-choice-1').checkboxradio('enable');
    $('#radio-choice-2').checkboxradio('enable');
    $('#radio-choice-1-board').checkboxradio('enable');
    $('#radio-choice-2-board').checkboxradio('enable');
    $('#TransNum').textinput('enable'); 
    $('#UserContinue').remove();
    $('#nextButton').show();
    */
};
我遇到的问题是 unHideAll() 永远不会到达任何地方。如果我在顶部放置一个 alert(),它会显示,但如果我在底部放置一个 alert(),它永远不会到达那里。知道为什么吗?
这是我调用这些方法的方式:
$(document).ready(function()
{   
    clearStorage(); 
    loadData();
    unHide();           
    collectData();
});
知道为什么我不能让 unHideAll() 做任何事情吗?它适用于传统的 unHide() 方法,我在还没有本地存储时使用该方法,但如果存在本地存储,它往往会很快失败。
有任何想法吗?
编辑:
这是我的本地存储代码:
window.storage = {
    store:localStorage,
    get: function( key ) 
    {
        try
        {
            return JSON.parse(this.store[key]);
        } 
        catch(e) {};
        return undefined;
    },
    set: function( key, value) 
    {
        try
        {
            this.store[key] = JSON.stringify(value);
        } 
        catch(e) {};
    }
};
编辑2:
这是一些有效的代码,这就是为什么它在我的新方法中不起作用的原因。
//THIS CODE WORKS FLAWLESSLY TO REVEAL ITEMS!!
$('#UserContinue').click(function() 
{
    if($('#UserName').val() == '') 
    {
        alert('Please Enter a User Name First!');
        return false;
    }
    else 
    {
        User_Name = $('#UserName').val();
        $('#radio-choice-1').checkboxradio('enable');
        $('#radio-choice-2').checkboxradio('enable');
        $('#radio-choice-1-board').checkboxradio('enable');
        $('#radio-choice-2-board').checkboxradio('enable');
        $('#TransNum').textinput('enable'); 
        $('#UserContinue').remove();
        $('#nextButton').show();
        confirm('Welcome ' + User_Name +'!');
        return true;
    }
    return true;
});
这真的很奇怪......