我有一个表,其中包含其中一列中所有行的锚点链接。
相关代码是
<tbody>
<?php foreach ($rowarr as $k => $v) { ?>
<tr>
<td><?php echo $k ?></td>
<td>
<div class="divBox">
<a id="vendorlink" data-toggle="modal" data-vendor="<?= $v ?>" href="#myModal"><?php echo $v; ?></a>
</div>
</td>
</tr>
<?php } ?>
</tbody>
我正在尝试使用AJAX将点击表中链接的供应商的名称发送到使用AJAX的模式并尝试在模态中打印名称仅用于测试,但即使这样也不会发生。
<script type="text/javascript">
$('#myModal').modal('hide');
$("#vendorlink").click(function(){
var vendor = $(this).data('vendor');
$('#myModal').on('shown', function(){
$.ajax({
type: "GET",
url: "ip.php",
data: "id=" + vendor,
success: function(html){
$("#modal-body").html(html);
$('.countstable1').dataTable( {
"sDom": "T<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"sPaginationType": "bootstrap",
"oLanguage": {
"sLengthMenu": "_MENU_ records per page"
},
"aaSorting":[[0, "desc"]],
"iDisplayLength": 10,
"oTableTools": {
"sSwfPath": "swf/copy_csv_xls_pdf.swf",
"aButtons": ["csv", "pdf"]
}
});
}
});
});
});
</script>
ip.php文件暂时只有这个
<?php
$vendor = $_GET['id'];
echo $vendor;
?>
但是在模态中我只看到默认的bootstrap标记代码,没有任何东西在那里回显
这是默认的引导程序标记代码 - http://twitter.github.com/bootstrap/javascript.html#modals
可能有什么不对?为什么供应商没有传递给PHP文件?
答案 0 :(得分:1)
您的html文件中的所有链接都设置了相同的ID,这将无法正常工作,您最好在所有链接中添加活动。
答案 1 :(得分:0)
应以这种方式定义data
属性:
data: {id: vendor},
编辑。哦,并替换:
<a id="vendorlink" data-toggle="modal" data-vendor="<?= $v ?>" href="#myModal"><?php echo $v; ?></a>
使用:
<a id="vendorlink_<?=$v?>" class="vendorlink" data-toggle="modal" href="#myModal"><?=$v?></a>
和$("#vendorlink")
与$(".vendorlink")
(因此您将影响所有条目)和$(this).data('vendor');
与$(this).attr('id').replace('vendorlink_', '');
。