javascript - 仅使用 JavaScript 对象数组创建小型可搜索数据库。没有 AJAX,没有 PHP

标签 javascript database

我想创建一个小型数据库或项目集合 - 只有大约 30 个 - 你可以单独使用 JavaScript 进行搜索。

例如 - 假设我有 20 所房子要出租,我希望学生能够搜索有 4 或 5 个房间的房子。

我可以像这样创建房屋对象:

function house(address, rooms, bathrooms){
this.address=address;
this.rooms=rooms;
this.bathrooms=bathrooms;
}

var property1 = new house("10 Park Way","4","1");
var property2 = new house("61 Park Avenue", "5","2");
var property3 = new house("585 Park Road", "3", "1");

我希望能够按“房间”搜索此列表并显示地址、房间数和浴室数。

注意:我知道我写的方式不是数组,但我将使用数组,因此我可以使用 for 循环循环访问属性并按以下方式评估它们:

if(property[i].rooms == roomquery){
    document.write('Address:' + property[i].address + '.<p>');        
    document.write('Address:' + property[i].rooms + '.<p>');
    document.write('Address:' + property[i].bathrooms + '.<p>');
}

简单吧?

除非我不知道如何将 roomquery 变量从我的表单传递到我的脚本。

流程的顺序是:搜索页->结果页->详情页

用户搜索并获得结果列表。可以选择在结果页面上更详细地查看属性,将数据从结果传递到页面以在详细信息页面上重新格式化。当然,Array 中的每个属性都会有更多的数据,我可以将这些数据提供给不可见标签的 id 或 value 属性,以便收集并重新提交到详细信息页面上的脚本。

我知道我可以用 PHP 做到这一点,我知道我可以通过将 roomquery 变量发送到同一页面上的脚本并在搜索页面上进行更改来做到这一点。

但我想做的是使用 GET 或任何其他方法将数据(只是一个数字)发送到结果页面上的脚本,因为这样我就可以从任何将发送的页面运行搜索到搜索页面。

我已经在互联网上搜索了这个,但我没有想出任何东西。一定有办法。

最佳答案

为什么不用JSON,这里有一个例子:

var json = {
    "house": [{
            "address": "10 Park Way",
            "num1": 4,
            "num2": 1},
        {
            "address": "61 Park Avenue",
            "num1": 5,
            "num2": 2},
        {
            "address": "585 Park Road",
            "num1": 3,
            "num2": 1}]

};

var houses = json["house"];
for(var i=0; i < houses.length; ++i) {
    var houses_i = houses[i];
    if(houses_i["address"] == '10 Park Way') {
        alert('Found WAY!!!');
        break;
    }
}

关于javascript - 仅使用 JavaScript 对象数组创建小型可搜索数据库。没有 AJAX,没有 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13610731/

相关文章:

javascript - 通过滚动触发 CSS 关键帧动画

database - 设计数据库时最重要的考虑因素是什么?

java - 需要一个分布式键值查找系统

.net - Entity Framework 4 POCO 中的默认 SQL Server 列值

javascript - 检查用户是否输入了带有变量的特定字符串

javascript - 在事件 $window.ready 之前从 chrome 扩展执行代码

mysql - 如何在Mysql查询中选择随机ID

mysql - 在数据库表行中存储各种数据

javascript - 如何用 CSS 覆盖 HTML <FONT SIZE ="2">

javascript - 在 jQuery UI 日期选择器中自定义月份