首页 > 解决方案 > Bootstrap 折叠 - 传递值或获取 DOM 对象

问题描述

使用引导程序,我正在使用折叠功能来折叠我的表格,就像这样。我正在使用以下内容连接到崩溃 js

<script type="text/javascript">
$('#demo1').on('shown.bs.collapse', function () {
    that = $(this);
    $.ajax({
        url:'{{ (path('orders')) }}',
                type: "POST",
                dataType: "json",
                data: {
                    "id": "1"
                },
                async: true,
                success: function (data)
                {
                    console.log(data)
                    $('div#demo1').html('<img src="data:image/png;base64,' + data.output + '" />');
                }
            });
            return false;

        });
    </script>

如何将值传递给该函数或获取传递它的 dom 元素的名称(即#demo1)?我基本上需要传递一个值作为 id 值传递给 ajax POST。

我无法静态映射值,因为我只是根据数据库返回生成行。树枝是

        {% for x in search%}
            <tr data-toggle="collapse" data-target="#demo{{ loop.index }}" class="accordion-toggle">
                <th>{{ x.id}}</th>
            <tr>
                <td colspan="5" class="hiddenRow">
                    <div class="accordian-body collapse" id="demo{{ loop.index }}">
                        Demo{{ loop.index }} data
                    </div>
                </td>
            </tr>
        {% endfor %}

基本上在上面我需要访问x.id以传递给引导 jQuery

标签: javascriptjquerybootstrap-4collapse

解决方案


这不是一个明确的问题,因为答案取决于...

这应该很容易,在 Javascript 中,您在函数外部设置一个变量并将其声明为全局变量。IE

<script>let variable;</script>

或者

<script>let variable = 0;</script>

或者

<script>let variable = 'word';</script>

然后无论是硬代码更改它还是通过表单条目或选择项更改它,因为它是全局的,它可以在您的函数中作为变量访问。

你可以尝试这样的事情:

{% for x in search <script>let variable=x;</script> %}

推荐阅读