codeigniter 将PHP数组整数作为参数传递给JavaScript函数?

ecbunoof  于 2022-12-06  发布在  PHP
关注(0)|答案(1)|浏览(114)

我正在使用PHP Codeigniter并尝试使用**onClick()将数组Controller 传递到 JavaScript 函数,但无法找到任何解决方案。
下面是我在控制器中的代码:

function get_class_students_mass_pdf($class_id) {

        $students = $this->db->get_where('enroll', array(
            'class_id' => $class_id, 'year' => $this->db->get_where('settings', array('type' => 'running_year'))->row()->description
        ))->result_array();
        
        $invoiceid = array();
        foreach ($students as $row) {
            $invoice_id =  $this->db->get_where('invoice', array('student_id' => $row['student_id']))->row()->invoice_id;

                $invoiceid[] = $invoice_id;
        
            }

            $invoiceid = json_encode($invoiceid);
    
        echo '<br><br><button style="margin-left: 36px;" type="button" class="btn btn-default" onClick="invoice_view_modal('.$invoiceid.')"> ' . get_phrase('generate_pdf') . ' </button>';
    }

视图中的我的JavaScript函数:

function invoice_view_modal(invoiceid) {
          showAjaxModal('<?php echo site_url('modal/popup/modal_view_mass_invoice/');? 
          >' + invoiceid);
     }

$invoiceid是我的数组,我尝试使用onClick()方法在JavaScript函数中访问该如何访问它?

ppcbkaq5

ppcbkaq51#

我在我的项目中遇到了同样的问题,调试后我知道javaScript函数不接受数组中的特殊字符,如**"",。所以我简单地使用htmlspecialchars()**,它对我的项目有效。尝试一下,

$invoiceid = htmlspecialchars(json_encode($invoiceid));

相关问题