Jquery mobile 我是否应该使用phonegap本地存储来存储复选框字段选项

Jquery mobile 我是否应该使用phonegap本地存储来存储复选框字段选项,jquery-mobile,cordova,local-storage,Jquery Mobile,Cordova,Local Storage,我从jQuery mobile和Phonegap开始 我有一个类别选择器,根据所选类别显示一个属于该类别的复选框列表。 请参见下面1个我可能显示的复选框组示例。请注意,它是隐藏的,只有当用户在字段“category”中选择“locations”时,我才会显示该字段 <select name="select-choice-0" id="category" onchange="javascript:showboxes();updateresults();"> <option val

我从jQuery mobile和Phonegap开始

我有一个类别选择器,根据所选类别显示一个属于该类别的复选框列表。 请参见下面1个我可能显示的复选框组示例。请注意,它是隐藏的,只有当用户在字段“category”中选择“locations”时,我才会显示该字段

<select name="select-choice-0" id="category" onchange="javascript:showboxes();updateresults();">
<option value="0">Select a category</option>
<option value="4">Catering</option>   
<option value="1">Locations</option>
<option value="2">Music</option>
</select>


<div id="locationthemes_box" data-role="collapsible" style="display:none;">
<h3>Themes</h3>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
    <legend>Theme</legend>
    <input type="checkbox" name="locationthemes" id="checkbox-1" value="2" class="custom" />
    <label for="checkbox-1">Castle</label>
    <input type="checkbox" name="locationthemes" id="checkbox-2" value="3" class="custom" />
    <label for="checkbox-2">Barn</label>
    <input type="checkbox" name="locationthemes" id="checkbox-3" value="5" class="custom" />
    <label for="checkbox-3">Restaurant</label>
    <input type="checkbox" name="locationthemes" id="checkbox-4" value="8" class="custom" />
    <label for="checkbox-4">Bar</label>
</fieldset>
</div>
</div>

选择一个类别
餐饮
位置
音乐
主题
主题
城堡
谷仓
餐厅
酒吧
现在,我有更多的复选框组要显示或隐藏,具体取决于所选的类别。我想防止我有未显示在页面中的复选框的HTML。 因为这将导致不必要的带宽使用。 然后我想:也许我应该动态加载复选框组的内容,只要用户更改了类别selectbox,就向web服务请求相关的复选框和值

但这会导致大量的网络请求,我试图节省带宽

所以我的想法是,本地存储可能能够解决我的问题。 然后,我将复选框值存储为名称/值字符串:
地点主题=2;城堡;3.谷仓;5.餐厅;8.酒吧

我的问题:这是一条路,还是有我不知道的最佳实践?

如果我的方式是adviced方式:任何使用PhoneGap本地存储的示例都非常受欢迎

如果您使用jquerymobile的单页概念,即一个HTML包含所有页面,如下所示

<div data-role="page" id="page1">
<div data-role="page" id="page2">
<div data-role="page" id="page3">
<div data-role="page" id="page4">

然后可以使用全局变量存储值

否则,您可以使用本地存储,如下所述

我建议使用本地存储,原因很简单,如果需要,Android会无情地杀死你的应用程序。一旦用户将你的应用程序放在后台一段时间,或者他让手机进入睡眠状态或等待时间过长,那么应用程序可能会被杀死。在这里,您可以确保始终将应用程序的状态或重要变量存储在localStorage中,然后在应用程序重新启动时(通过简单的启动检查)再次提取此数据。

我确实使用单页概念。因此,我将按照您的建议,定义一个全局变量,如:var locationthemes=2;城堡;3.谷仓;5.餐厅;8.如果我这样做了,请在外部js文件而不是页面中定义全局变量。.js文件是否缓存在本地,以便只加载HTML文件而不加载包含我的数据的js文件?如果您选择在外部.js文件中声明全局变量,则我不希望这样做。如果是这种情况,请使用localStorage。但是如果你没有外部js文件,那么就在HTML文件中使用全局变量。当然,后台服务也是一个有用的选择,但是localStorage非常好用,如果你的应用程序设计不太复杂,我建议你使用它。。