通过JQuery获取动态内容的ID
Getting ID via JQuery for dynamic content
我正在使用PHP创建一些动态内容选项卡,选项卡上的一个对象是数据表。我通过PHP定义ID,如下所示:
PHP:
echo '<table class="table table-striped table-bordered table-hover" id="'.$nospaces.'">';
该表完美地加载了数据,但是我在初始化用于排序和筛选的数据表时遇到了问题。通常在静态表上,我只会使用静态ID初始化它,但在这种情况下我不能这样做。
我想我可以做一些jquery来监听选项卡单击事件,然后获取表ID并将其加载到jquery数据表初始化中,但这也不起作用。我刚刚收到一个未定义的警报:
JQuery:
<script>
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
var row = $(this).closest('table').attr('id');
alert(row);
$(document).ready(function() {
oTable = $('row').dataTable( {
"sDom": '<"top"lf>rt<"bottom"ip><"clear">'
});
});
});
</script>
如有任何帮助,我们将不胜感激!谢谢
是否有什么原因不能继续使用静态ID?
var staticID = '<?php echo $nospaces; ?>';
$('#' + staticID).dataTable();
我想使用变量row
就可以了,而不是使用字符串'row'
:)
var row = $(this).closest('table').attr('id');
alert(row);
$(document).ready(function() {
oTable = $(row).dataTable( { //<--- here
"sDom": '<"top"lf>rt<"bottom"ip><"clear">'
});
我最终用一些额外的步骤进行了混合。不是最干净的,但它在起作用。
首先,在动态选项卡/表上,我为新ID创建了一个变量,因为选项卡和表ID相同:
PHP:
$tableid = $nospaces .'table';
echo '<table class="table table-striped table-bordered table-hover" id="'.$tableid.'">';
然后我初始化(并销毁)选项卡上的数据表,点击如下:
JQuery:
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
tab = e.target.hash // newly activated tab
tabtable = tab + 'table'
$(document).ready(function() {
oTable = $(tabtable).dataTable( {
"sDom": '<"top"lf>rt<"bottom"ip><"clear">'
});
});
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
oldtab = e.relatedTarget.hash
oldtable = oldtab + 'table'
$(oldtable).dataTable().fnDestroy();
});
});
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 在iframe代码中动态插入子id
- 如何为动态创建的元素分配唯一的id-Javascript
- 使用getElementById设置动态ID的输入字段的样式
- Php,Javascript-动态表单id's和动态验证
- 动态添加id's到输入字段
- Javascript:获取具有动态id的文本框值
- 如何将value和id动态添加到html下拉选项标记中
- Jquery通过id动态选择对象使用字符串
- 根据ID动态创建元素(Jquery)
- 如何最好地搜索基于特定元素的id动态生成的自定义列表?
- 使用jQuery通过ID动态修改元素属性
- Jquery getjson为每个id动态点击时- ruby on rails
- 通过id动态访问对象数据
- 在d3.js中使用县Id动态地在地图中插入圆圈
- 使用jQuery将ID动态分配给当前表行tr
- 使用Jquery根据可拖放对象的ID动态更改图像的src
- 如何将id动态添加到每个蓝色圆圈中
- 如何通过id动态选择JQuery元素
- 如何设置ID动态创建的文本框在JavaScript