我在另一个没有拿到jQuery的范围内有一个嵌套的SPAN - 我想找到一种方法来完成这项工作,并找出它为什么不起作用。
基本上,我有一个span,实际上是一个popover(bootstrap) 这意味着要确认删除记录。
以下是我所拥有的:
<span
class="glyphicon glyphicon-remove"
data-placement="top"
data-toggle="popover"
style="cursor:pointer"
title="Confirm"
data-content="<center><span style='cursor:pointer' id='deleteRecordSpan' class='remove glyphicon glyphicon-remove'><p style='display:none'><?=$row['uniqueID'];?></p></span></center>"
></span>
数据内容中的SPAN被认为是第二个按钮(实际上挂钩到jQuery以执行我的ajax命令的按钮) - 按钮显示并且具有与之关联的正确信息,但是当单击时,它永远不会触发jQuery事件(根据firebug)
我的js:
<script>
$(document).ready(function() {
$('.remove').click(function() {
var input = input = $(this).text()
$.ajax({ // create an AJAX call...
data: {
uniqueid: input,
},
type: 'POST', // GET or POST from the form
url: './ajax/deleteRecord.php', // the file to call from the form
success: function(response) { // on success..
show10();
allToday();
}
});
});
});
</script>
答案 0 :(得分:2)
由于HTML位于data-content
属性中,Bootstrap会动态插入标记,您需要一个委托的事件处理程序
$(document).ready(function() {
$(document).on('click', '.remove', function() {
var input = $(this).text()
$.ajax({
data: {
uniqueid: input,
},
type: 'POST',
url: './ajax/deleteRecord.php', form
success: function(response) {
show10();
allToday();
}
});
});
});
答案 1 :(得分:0)
您的问题在于span标记内的<p>
标记。尝试将uniqueId作为span标记的数据属性,如下所示:
<center><span style='cursor:pointer' id='deleteRecordSpan' class='remove glyphicon glyphicon-remove' data-unique='<?=$row['uniqueID'];?>'></span></center>
然后您的唯一ID将不会显示。你可以用这种方式使用你的id:
var input = $(this).data('unique');