使用bootstrap,我使用collapse函数来折叠like this的表。我用以下代码连接到collapse 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。
我不能静态地Map值,因为我只是基于数据库返回生成行。
{% 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
3条答案
按热度按时间zzwlnbp81#
如果您的目标是多个折叠,则应该使用类选择器而不是id选择器:
您可以从**
e.target.id
**中获取折叠的DOM元素id。如果除了id之外还有其他数据需要获取,可以在构建HTML时使用**
data-
**绑定数据,然后在目标对象上使用jQuery,并从那里开始:HTML格式
JavaScript语言
我不知道我是否回答了你的问题,因为你的问题我也不清楚。
yftpprvb2#
这不是一个明确的问题,因为答案取决于...
这应该很简单,在Javascript中,你在函数之外设置一个变量,并声明它是全局的。
或
或
然后,无论是硬编码更改它,还是通过表单条目或选择项更改它,由于它是全局的,因此可以在函数中作为变量访问它。
您可以尝试以下操作:
lpwwtiir3#
以防万一有人想看看结束代码(基于大卫Liang的答案)如何做到这一点...
小枝:
脚本:
并且它会将“Loading...”替换为.html()中的任何内容(在我的例子中是img标记)。