Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 获取活动卡的值_Jquery_Asp.net Mvc - Fatal编程技术网

Jquery 获取活动卡的值

Jquery 获取活动卡的值,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我有一个MVC页面,为从数据库中检索到的每个项目动态生成一个card元素——每个卡片上都有一个按钮,我试图从被单击的卡片上设置一些值,以填充不同的元素 卡代码: <div class="uk-grid"> @foreach (var entry in Model.Items) { <div> <div class="uk-card uk-card-hover uk-card-body">

我有一个MVC页面,为从数据库中检索到的每个项目动态生成一个card元素——每个卡片上都有一个按钮,我试图从被单击的卡片上设置一些值,以填充不同的元素

卡代码:

<div class="uk-grid">

    @foreach (var entry in Model.Items)
    {
        <div>
                <div class="uk-card uk-card-hover uk-card-body">
                    @if (entry.new_Flag == 1)
            {
                        <span class="uk-label-newitem" style="display: normal;">New Item</span>
                    }
                    else
                    {
                        <span class="uk-label-newitem" style="display: none;">New Item</span>
                    }
                    @if (entry.stage1_flag == 1)
            {
                        <span class="uk-label-s1" style="display: normal;">Awaiting Stage 1 Sign Off</span>
                    }
                    else
                    {
                        <span class="uk-label-s1" style="display: none;">Awaiting Stage 1 Sign Off</span>
                    }

                    @if (entry.stage2_flag == 1)
            {
                        <span class="uk-label-s2" style="display: normal;">Awaiting Stage 2 Sign Off</span>
                    }
                    else
                    {
                        <span class="uk-label-s2" style="display: none;">Awaiting Stage 2 Sign Off</span>
                    }

                    @if (entry.live_flag == 1)
            {
                        <span class="uk-label-live" style="display: normal;">Item Live</span>
                    }
                    else
                    {
                        <span class="uk-label-live" style="display: none;">Item Live</span>
                    }
                    <h3 class="uk-card-title" id="uk-card-title"><b>@entry.kpi_Name</b></h3>
                    <p>Info here</p>
                    <button class="uk-button uk-button-default" type="button" id="btndetails" data-interaction="@entry.kpi_pk" uk-toggle="target: #offcanvas-overlay">Details</button>
                </div>
        </div>
    }
</div>
我有一个非画布元素,可以滑入其中以显示卡中的更多信息,但这些详细信息需要通过此按钮单击操作进行设置,并从卡中获取。
当单击第一张卡时触发警报,但由于@guradio使用以下方法修复了其他卡,其他卡均未触发警报

    $(".uk-button").on('click', function () {
        var $item = $(this).prev().prev().text();
        alert($item);
    });

如果您正在查找以前的h3使用.prev.prev而不是最近的,则最近的将查找父级而不是兄弟级。您的意思是这样的?var$item=$this.prevuk-card-title.text$this.prev.prev.text;像这样,但这不是干净的,如果你将改变标记upOK的工作,但再次只为第一张卡创建。。。任何后续卡都不会触发警报,只会打开您正在使用ID的侧栏。如果您有其他卡,我假设您有相同的ID。ID应该是唯一的。改为使用类,然后使用它来引用单击的元素。
    $(".uk-button").on('click', function () {
        var $item = $(this).prev().prev().text();
        alert($item);
    });