【问题标题】:jQuery undefined valuejQuery未定义值
【发布时间】:2016-01-01 18:48:31
【问题描述】:

我是 jQuery 新手,在使用 jQuery Datatables 时遇到了这个问题,我认为这很简单,但我无法弄清楚。处理程序 .iframe.iframe2.iframe3 工作正常,问题是 .iframe4

我设法在.iframe.iframe2.iframe3 中获取data[0] 的值,但我无法在.iframe4 中显示它的值。现在我只需要在.iframe4 中显示data[0] 的值,但我收到一个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>

【问题讨论】:

  • 什么是.iframe4?什么是未定义的 - data[0].iframe4?您的数据是什么样的?

标签: javascript jquery datatables


【解决方案1】:

您的代码中有错字。这很可能是您想要做的:

$('#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]);
});

它也适用于您的其他点击处理程序。

【讨论】:

  • 很抱歉,但效果不佳。我只需要显示 data[0] 的值
猜你喜欢
  • 2013-03-14
  • 1970-01-01
  • 2018-01-08
  • 2015-08-21
  • 2014-10-12
  • 2013-06-02
  • 1970-01-01
  • 1970-01-01
  • 2010-09-25
相关资源
最近更新 更多