# Hide Menu buttons

**URL:** <https://forums.knack.com/t/hide-menu-buttons/19280>\
**Category:** Get Answers\
**Created:** [May 1, 2025, 3:04pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280 "2025-05-01T15:04:48Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![andrewstee38626](https://avatars.discourse-cdn.com/v4/letter/a/dfb087/32.png) [@andrewstee38626](https://forums.knack.com/u/andrewstee38626)\
**Post date:** [May 1, 2025, 3:04pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280/1 "2025-05-01T15:04:48Z")

</div>

Hi,

anyone have an idea for hiding menu buttons based on field values or other parameters? I dont think it can be done natively

thanks,  
Andrew Steele (UK)

---

<div class="post-metadata">

**Author:** ![JAINI](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/jaini/32/4803_2.png) [@JAINI](https://forums.knack.com/u/JAINI)\
**Post date:** [May 1, 2025, 5:12pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280/2 "2025-05-01T17:12:06Z")

</div>

yes, you can.Use page Rule to hide menu based on record value.

---

<div class="post-metadata">

**Author:** ![andrewstee38626](https://avatars.discourse-cdn.com/v4/letter/a/dfb087/32.png) [@andrewstee38626](https://forums.knack.com/u/andrewstee38626)\
**Post date:** [May 1, 2025, 5:43pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280/3 "2025-05-01T17:43:34Z")

</div>

Yea I’m aware and use that. I meant individual buttons on a menu. Hide one or more of the buttons based on values.

---

<div class="post-metadata">

**Author:** ![JAINI](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/jaini/32/4803_2.png) [@JAINI](https://forums.knack.com/u/JAINI)\
**Post date:** [May 1, 2025, 5:51pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280/4 "2025-05-01T17:51:40Z")

</div>

you can hide the view of that button, and create a text rich message view for user highlighting, why can not access this view.use page rule to hide and show based on record value.

---

<div class="post-metadata">

**Author:** ![andrewstee38626](https://avatars.discourse-cdn.com/v4/letter/a/dfb087/32.png) [@andrewstee38626](https://forums.knack.com/u/andrewstee38626)\
**Post date:** [May 1, 2025, 6:04pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280/5 "2025-05-01T18:04:25Z")

</div>

Not sure I understand that reply, sorry.

---

<div class="post-metadata">

**Author:** ![Dean2](https://avatars.discourse-cdn.com/v4/letter/d/bcef8e/32.png) [@Dean2](https://forums.knack.com/u/Dean2)\
**Post date:** [May 2, 2025, 1:28am UTC](https://forums.knack.com/t/hide-menu-buttons/19280/6 "2025-05-02T01:28:31Z")

</div>

Hi Andrew

You might be able to achieve this using KTL

Try posting your question in their forum [cortexrd/Knack-Toolkit-Library · Discussions · GitHub](https://github.com/cortexrd/Knack-Toolkit-Library/discussions)

Dean

---

<div class="post-metadata">

**Author:** ![Dean2](https://avatars.discourse-cdn.com/v4/letter/d/bcef8e/32.png) [@Dean2](https://forums.knack.com/u/Dean2)\
**Post date:** [May 2, 2025, 1:43am UTC](https://forums.knack.com/t/hide-menu-buttons/19280/7 "2025-05-02T01:43:23Z")

</div>

Hi Andrew

Sorry, here’s what I was thinking of that might be of help.

\_cfv=[Has Archived Notes, is, Yes, black, #ffbb73, bold,], [ktlTarget, $(‘#view\_347 .knMenuLink:textEquals(“Archived Notes”)’)]

![image](https://us1.discourse-cdn.com/flex020/uploads/knack/original/2X/4/4fbfe0b0461edc06942815d08550e59318047db6.png)

Dean

---

<div class="post-metadata">

**Author:** ![andrewstee38626](https://avatars.discourse-cdn.com/v4/letter/a/dfb087/32.png) [@andrewstee38626](https://forums.knack.com/u/andrewstee38626)\
**Post date:** [May 2, 2025, 8:10am UTC](https://forums.knack.com/t/hide-menu-buttons/19280/8 "2025-05-02T08:10:07Z")

</div>

Hi Dean,

thanks for this - I will have a play - thank you.

---

<div class="post-metadata">

**Author:** ![andrewstee38626](https://avatars.discourse-cdn.com/v4/letter/a/dfb087/32.png) [@andrewstee38626](https://forums.knack.com/u/andrewstee38626)\
**Post date:** [May 2, 2025, 8:11am UTC](https://forums.knack.com/t/hide-menu-buttons/19280/9 "2025-05-02T08:11:08Z")

</div>

I guess I could have different menus in different views and hide the ones that don’t apply - a bit long winded but should work.

---

<div class="post-metadata">

**Author:** ![LeighBerre96926](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/leighberre96926/32/4896_2.png) [@LeighBerre96926](https://forums.knack.com/u/LeighBerre96926)\
**Post date:** [May 2, 2025, 2:37pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280/10 "2025-05-02T14:37:12Z")

</div>

That’s what i do. All works within native Knack.

---

<div class="post-metadata">

**Author:** ![Michael4](https://avatars.discourse-cdn.com/v4/letter/m/8c91f0/32.png) [@Michael4](https://forums.knack.com/u/Michael4)\
**Post date:** [May 7, 2025, 12:10pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280/11 "2025-05-07T12:10:00Z")

</div>

See the feature requests

> **[Customize Menu Buttons | FEATURE | Knack](https://product.knack.com/feedback/202290)**
>
> There are many times that I want some buttons in a menu to only appear for some users but not others. Users currently have roles that control what pages they can view, but it woul...

---

<div class="post-metadata">

**Author:** ![CSWinnall](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/cswinnall/32/3631_2.png) [@CSWinnall](https://forums.knack.com/u/CSWinnall)\
**Post date:** [May 7, 2025, 8:01pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280/12 "2025-05-07T20:01:51Z")

</div>

Yes you can use different menus but that can be tricky if you can’t get both menus linking to the same pages

We use js or KTL.

```auto
$(document).on('knack-view-render.view_123', function(event, {key: viewId} ) {
  $(`#${viewId} li:contains('some text')`).remove();
});

```

Replace 123 with your menu view Id and some text with your menu button text.

If you want a specific condition for the code let me know and I can update the code.

Craig

---

<div class="post-metadata">

**Author:** ![andrewstee38626](https://avatars.discourse-cdn.com/v4/letter/a/dfb087/32.png) [@andrewstee38626](https://forums.knack.com/u/andrewstee38626)\
**Post date:** [May 8, 2025, 8:03am UTC](https://forums.knack.com/t/hide-menu-buttons/19280/13 "2025-05-08T08:03:40Z")

</div>

Hi Craig,

thanks for this … I agree with the “extra” menu point to you make as you have to create new views with the same data sometimes, several times.

I will try your method on a test app.

---

<div class="post-metadata">

**Author:** ![NormandDefayette\_CortexRD](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/normanddefayette_cortexrd/32/855_2.png) [@NormandDefayette\_CortexRD](https://forums.knack.com/u/NormandDefayette_CortexRD)\
**Post date:** [May 9, 2025, 5:22pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280/14 "2025-05-09T17:22:06Z")

</div>

I’d use the KTL’s keyword \_cls (Add/Remove Class) to hide the button conditionally, like this:

In my example, I have two conditions that hide each menu button, based on the value of the fields in the form below. This works with details views also.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/knack/original/2X/8/8ca77acdeb85601508c7c2aa547a1800b17750b0.png)

Enjoy!!  
Norm

---

<div class="post-metadata">

**Author:** ![Michael4](https://avatars.discourse-cdn.com/v4/letter/m/8c91f0/32.png) [@Michael4](https://forums.knack.com/u/Michael4)\
**Post date:** [May 15, 2025, 1:47pm UTC](https://forums.knack.com/t/hide-menu-buttons/19280/15 "2025-05-15T13:47:49Z")

</div>

Hello Craig,

Thank you very much for your tip.

We will probably test it as js as we don’t use KTL.

Michael
