将ID应用于按钮以进行动态链接

时间:2019-04-16 05:51:55

标签: javascript php

在将id与php一起应用时,我遇到了一个奇怪的递归错误,但似乎仅在字符串“ MAI001”时才发生。当它只是一个整数“ 123”时,效果很好,我不太确定该怎么做?

$(<?php echo "'#". $row->id."'";?>).on('click', function(){

                         $.ajax({
                           url: 'load_contractor', // link to CI function
                           type: 'POST',
                           data: {  
                             contractor_id: <?php echo $row->id;?> ,
                           },
                           success: function (data) {
                               window.location.href = "<?php echo site_url('Panel/Admin/index'); ?>";

                           }
                         });

                       });

1 个答案:

答案 0 :(得分:2)

您的问题是您的js对象中没有引号。因此,它希望$row->id是整数。并且当您将字符串传递给它时,它将失败。

此处的正确代码:

$(<?= "'#$row->id'";?>).on('click', function(){

    $.ajax({
        url: 'load_contractor', // link to CI function
        type: 'POST',
        data: {
            contractor_id: <?= "'$row->id'";?> ,
        },
        success: function (data) {
            window.location.href = "<?= site_url('Panel/Admin/index'); ?>";

        }
    });
});

P.S。为了更好的可读性,我用短语法<?php echo替换了您所有的<?=。在PHP世界中,使用此语法是正常的。如果您使用的是旧的PHP(低于5.4.0版),并且未启用简短语法,则应将其替换回原处。