我有一个带有下拉列表的表格,用于选择parentCategory:(汽车、汽车零部件、自行车、MC、自动巴士等)。
每个类别可能有一个子类别或子视图(文本框、复选框、下拉列表等),或两者兼有。
每个子类别也可能有子视图(文本框复选框下拉列表等)
示例:
if user selects "car"
{
generate 4 different dropdowns(year model[get options from db], milage[get options from db], bensin or disel, manual/automatic)
generate 1 textField(registration number)
}
if user selects "car parts"
{
generate a subcategory dropdown with items(gps, car parts, tire, car stereo)
//if subcategory.value changes then look if there is subView.
ex: if subcategory.value is "car part", then generate 1 dropdown(whichCarSection)
}
if user selects "bike"
{
generate a subcategory dropdown with items from database
}
实现此请求的最简单方法是什么?如果parentcategory有subCategory,我可以生成一个下拉列表。(在我的例子中:当用户选择"轮胎"时)
如何生成子视图
我将subView元素存储在哪里?
我这么长时间以来所做的是:我在mysql中有一个包含类别项的表。
catID - catTitle - hasSubCat
100 - car - 0
120 - car parts - 1
130 - bikes - 1
我在mysql中有一个子类别项的表。
subCatId - subCatTitle - parentCat
0 - gps - 120
1 - car part - 120
2 - tire - 120
3 - BMX - 130
4 - BMW - 130
5 - Mountain - 130
我很高兴看到您从UI建模中提前建模数据。首先,我想看看你在PHP中回顾MVC(http://oreilly.com/php/archive/mvc-intro.html)-然后从MVC中决定M(Ruby on Rails通过让它的M直接反映表来自动做到这一点)。下一步是决定一个视图。这个应用程序可以通过PHP生成Javascript列表来表示客户端的M,从而实现客户端的一切机制化——它需要下载所有数据。它还可以发送代码将事件附加到UI,以便在客户端交换或生成应用程序的V-这可以是主类别的一组选项卡,也可以是带有子类别下拉列表的选项卡,或者是用于选项卡内容的单选按钮,等等。当数据变得更大时,另一种选择是在客户端-服务器交互中引入AJAX。这使客户端和服务器变得复杂,但当数据量更高时,它的响应能力更强。同样,服务器处的M将根据C(控制器)的命令响应于V(客户端处的视图)生成的事件或输入来更新自身。我希望这能有所帮助,因为我认为提供任何代码都不适合您的情况。