Displaying messages from an object

How can I display every info of a particular key such as when I type “feb” into the search box, it returns {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>

Answer

I think you do not need the button, you can search the value on input event of the text box.

You can try the following way:

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>

Leave a Reply

Your email address will not be published. Required fields are marked *