通过选择侧边栏过滤器选项隐藏元素

时间:2020-01-14 12:46:34

标签: javascript jquery ajax asp.net-core .net-core

我是MVC和ASP.NET Core的新手,这是我的问题: 我有一个Houses列表(这是ajax调用的结果),在该视图中具有所有属性。 像这样:

@foreach (var hotel in Model.Houses)
        {
            <!-- product -->
            <div class="product-content product-wrap clearfix product-deatil">
              "Here I build the object"
            </div>

所以我要做的是创建另一个保留“属性列表”的对象。例如,我有3个属性:服务,名称和位置。 它们存储在与其在ajax调用中返回的对象相同的对象中,因此接下来我从该视图创建一个局部视图,在该局部y中创建此组件以选择结果中的“服务”,此视图为@foreach (var hotel in Model.Houses)开始> OUT ,如下所示:

<!--FILTRO SERVICIOS-->
    <div class="col-sm-12 col-md-12 col-lg-12" style="overflow: auto;
        white-space: nowrap;">
        FILTRAR POR SERVICIOS
        <button type="button" class="collapsibleSideFilter active"></button>
        <div class="menuServicios">

            @using (Html.BeginForm("", "", FormMethod.Post))
            {
                @Html.Label("Servicios:")
                <br />
                @Html.ListBoxFor(m => m.serviciosID, Model.listaServicios2, new { @class = "listboxServices", @data_listServices = "listaServicios" })
                <br />
                <input type="submit" value="Submit"/>
            }
        </div>
    </div>
<script type="text/javascript">
    $(document).ready(function () {
        $('.listboxServices').select2({
            includeSelectAllOption: true
        });
</script>

此作品打印此:

enter image description here

呈现的html代码如下所示: enter image description here 所选选项的类别为“ select2-selection__choice”

据我所知,我想隐藏不在所选项目中的元素,我的意思是,只显示具有该属性值的Houses元素。我读过data-attributes做的事,但是呈现的html代码似乎不允许这样做,所以我在想按类做,但不确定从哪里开始……我尝试了很多事情,但可以肯定应用不正确,所以我只想了解如何做。

这是选择选项的外观:

enter image description here

非常感谢您!

编辑: 所以现在我有了一个js数组,在其中放置了一个属性的值,现在我想我应该使用ajax发送该数组以仅打印与该属性匹配的那个项目,但是我不知道怎么做!

$('.listboxServices').select2({
            includeSelectAllOption: true

        });
         $('#HotelAvailSideFilterResult_serviciosID').on('change',function() {

              console.log($(this).val());
            });

我应该在那个片段中进行ajax调用吗?

0 个答案:

没有答案