Is there any way to re-render/rerun a custom block in HTML again on button Click?

I am trying to change the List Content in HTML in a Section. I want to change List whenever a category is changed . The content needs to be changed without page reload.

Cannot call function from js as it will call the main function responsible for rendering the whole page in Views.py

SO functionality should be like:

1 Category clicked
2 List of items in that category changes without loading the whole page

Q2 Is there any way to re run a part of code in HTML

like

{% block run_it_again_ %}

code

{% end block%}