2015-10-05 2 views
3

Я новичок в jQuery и работаю с jQuery Datatables. Я сталкиваюсь с этой проблемой, которая, по моему мнению, проста, но я не могу понять это. Обработчики .iframe, .iframe2 и .iframe3 работа хорошо, проблема .iframe4.jQuery undefined value

Я управляю, чтобы получить значение 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

Что такое '.iframe4'? Что не определено - 'data [0]' или '.iframe4'? Как выглядят ваши данные? – markpsmith

ответ

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]); 
}); 

Это относится и к вашим другим обработчикам кликов.

+0

извините, но это не работает. Все, что мне нужно, это отобразить значение данных [0] – elstiv