I've done similar before and ajax is your best bet rather then refresh or link to another page.
Your home page =
<h1>Home page<h1>
<!-- Other channel calls -->
{exp:channel:entries channel="your_channel"}
{title}
{/exp:channel:entries}
<div id="news">
<select id="switch"> <!-- Use actual category ID values -->
<option value="01">Option</option>
<option value="02">Option 2</option>
</select>
<div id="news-list">
{exp:channel:entries
limit="7"
channel="your_channel"
}
{embed = "/news/list"} -- Embed the base 7 articles
{exp:channel:entries}
</div>
</div>
Your embed (news/list) =
<article>
<h1><a href="/news/{url_title}>{title}</a></h1>
</article>
Javascript =
<!-- Assumes you know what you're doing here -->
$('#switch').on('change', function() {
url = "/ajax/update_news/"+this.value(); <!-- Should render /ajax/update_news/categories_actual_id -->
$.ajax({url: url, success: function(result){
$("#news-list").html(result);
}});
})
/ajax/update_news.html =
{exp:channel:entries
limit="7"
channel="your_channel"
category="{segment_3}" {!-- The categories ID --}
}
{embed = "/news/list"} -- Embed the base 7 articles
{exp:channel:entries}
Embeds can be an expensive include if you have lots of other stuff going on within the page, you could alternately use snippets instead.
Update
Your code in comment will never work as your using tags that you've dreamt up. If you don't want to use categories then you'll have to use the search tag
{exp:channel:entries search:your_field_name="your_search_term" ...}
Have a good read of this page: https://docs.expressionengine.com/v2/add-ons/channel/channel_entries.html