javascript - 显示来自对象的消息

标签 javascript html json

如何显示特定键的所有信息,例如当我在搜索框中键入“feb”时,它会返回 {1: "Сагсны тэмцээнтэй", 3: "Шагнал гардуулна даа", 17: "Жавхлан багшийн лаб 2-ыг хийнэ"} ?


var calendarevents = {
    jan: { 1: "Сайхан амарна" },
    feb: { 1: "Сагсны тэмцээнтэй", 3: "Шагнал гардуулна даа", 17: "Жавхлан багшийн лаб 2-ыг хийнэ" },
    mar: { 2: "Энэ лабынхаа хугацааг сунгах уу яах вэ гэдэгээ шийднэ", 6: "Энд юу бичье дээ байз", 8: "Эмэгтэйчүүддээ баяр хүргэнэ дээ" },
    apr: { 1: "Бүгдээрээ худлаа ярьцаагаагаарай" },
    may: { 10: "Энэ сард ч ёстой юу ч болдоггүй сар даа" },
    jun: { 6: "Жавхлан багшийн төрсөн өдөр" },
    jul: { 4: "Хичээл амарсаан ураа" },
    aug: { 1: "Хөдөө явдаг цаг даа", 25: "Хичээл сонголт эхэллээ" },
    sep: { 1: "9-н сарын нэгэн боллоо ерөөсөө бидний баяр даа" },
    oct: { 13: "Сур сур бас дахин сур" },
    nov: { 2: "Сурсаар л бай" },
    dec: { 20: "Өвлийн семистер хаагдах нь дээ", 30: "Дүн гаргаж дууслаа баярлалаа баяртай" }
};

function search() {
    var val = document.getElementById(value).value;
    for (i = 0; i < Object.keys(calendarevents).length; i++) {
        if (Object.keys(calendarevents)[i] == val) {
            /// if a key is found
        }
    }
}

<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>ICSI301 - Lab 3</title>
    <script src="Script.js"></script>
</head>
<body>
    <div>
        <label>Search:</label>
        <input type="text" id="value" />
        <button onclick="search()" id="srch">Search Month</button>

        <p id="demo">
        </p>
    </div>
    
</body>
</html>

最佳答案

我认为你不需要按钮,你可以在文本框的输入事件中搜索值。

您可以尝试以下方式:

var calendarevents = {
    jan: { 1: "Сайхан амарна" },
    feb: { 1: "Сагсны тэмцээнтэй", 3: "Шагнал гардуулна даа", 17: "Жавхлан багшийн лаб 2-ыг хийнэ" },
    mar: { 2: "Энэ лабынхаа хугацааг сунгах уу яах вэ гэдэгээ шийднэ", 6: "Энд юу бичье дээ байз", 8: "Эмэгтэйчүүддээ баяр хүргэнэ дээ" },
    apr: { 1: "Бүгдээрээ худлаа ярьцаагаагаарай" },
    may: { 10: "Энэ сард ч ёстой юу ч болдоггүй сар даа" },
    jun: { 6: "Жавхлан багшийн төрсөн өдөр" },
    jul: { 4: "Хичээл амарсаан ураа" },
    aug: { 1: "Хөдөө явдаг цаг даа", 25: "Хичээл сонголт эхэллээ" },
    sep: { 1: "9-н сарын нэгэн боллоо ерөөсөө бидний баяр даа" },
    oct: { 13: "Сур сур бас дахин сур" },
    nov: { 2: "Сурсаар л бай" },
    dec: { 20: "Өвлийн семистер хаагдах нь дээ", 30: "Дүн гаргаж дууслаа баярлалаа баяртай" }
};

var outputEle = document.getElementById('demo');
function search(el) {
    var val = el.value;
    var text = calendarevents[val];
    outputEle.textContent = JSON.stringify(text);
}
<div>
    <label>Search:</label>
    <input type="text" id="value" oninput="search(this)"/>

    <p id="demo">
    </p>
</div>

关于javascript - 显示来自对象的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66564928/

相关文章:

c# - 将 `DefaultValue` 应用于序列化中的每个字符串属性

java - 无法读取 JSON : Cannot construct instance of `java.util.LinkedHashMap`

javascript - row 事件在附加到 row 内元素的事件之前触发

javascript - 无法让 jQuery 方法工作

javascript - 在更新哈希值时显示链接到 nav 元素的相应 div

javascript - 为输入分配值,需要两个帖子

javascript - 单击下拉菜单中的任何内容时,Bootstrap 3 下拉菜单保持显示

javascript - 如何检测触摸屏被按下超过 2 秒?

javascript - react 传单 map 未正确显示

javascript - node.js:创建通过数据驱动事件自动更新客户端的应用程序