我是jQuery的新手,在使用jQuery Datatables时,我遇到了这个问题,我认为这个问题很简单,但我无法弄明白。处理程序.iframe
,.iframe2
和.iframe3
工作正常,问题是.iframe4
。
我设法在data[0]
,.iframe
和.iframe2
中获得.iframe3
的值,但我无法在.iframe4
中显示其值。现在我只需要在data[0]
中显示.iframe4
的值,但是我收到一个JS错误,说明该值未定义。这是我的代码:
<script type="text/javascript" language="javascript" class="init">
$(document).ready(function() {
var table = $('#example').DataTable( {
// bPaginate: false,
"columnDefs": [ {
"targets": -1,
"data": null,
"defaultContent": "<input type='image' src='delete.png' id='button' >"
},
{
"targets": -2,
"data": null,
"defaultContent": "<input type='image' src='edit.png' id='button' >"
},
{
"targets": -3,
"data": null,
"defaultContent": "<input type ='image' src='edit.png' id='button' >"
},
{
"targets": -4,
"data": null,
"defaultContent": " "
}
],
"order": [[ 0, "desc" ]]
} );
$('#example tbody').ready(function(){
var data = table.row( $(this).closest('tr') ).data();
$(".iframe4").ready(function()
{
$(".iframe4").text(data[0]);
});
});
$('#example tbody').on('click', 'input', function(){
var data = table.row( $(this).closest('tr') ).data();
$(".iframe").colorbox({maxWidth:'95%', maxHeight:'95%', href:"session_edit.php?ID="+data[0]});
$(".iframe3").colorbox({href:"delete.php?ID="+data[0]});
});
$('#example tbody').on('click', 'input', function(){
var data = table.row( $(this).closest('tr') ).data();
$(".iframe2").ready(function()
{window.location.replace("record_dt.php?ID="+data[0])});
});
});
</script>
答案 0 :(得分:0)
您的代码中有拼写错误。很可能这就是你想做的事情:
$('#example tbody').on('click', 'input', function () {
var data = table.row($(this).closest('tr')).data();
$(".iframe4").ready(function () {
$(".iframe4").text(data[0]);
});
});
然而,在没有首先分离事件处理程序的情况下附加事件处理程序是不错的选择。我相信您可以使用下面的代码。
$('#example tbody').on('click', 'input', function () {
var data = table.row($(this).closest('tr')).data();
$(".iframe4").text(data[0]);
});
它也适用于您的其他点击处理程序。