将PHP变量传递给Jquery弹出窗口

时间:2013-10-28 23:13:41

标签: javascript php jquery

我有以下设置:   JQuery的:

$('.btn-setting').click(function(e){
        e.preventDefault();
        $('#myModal').modal('show');
    });

这会打开一个HTML文件作为对话框,问题是我无法将任何PHP变量传递到页面上以供参考:

<a href="<?= echo $UserID; ?>" class="btn btn-info btn-setting">Click for dialog</a>

有人建议让我这样做的方法吗?


好的。问题是现在,我正在查看页面的来源..然而,它显示了我所期待的,现在当我点击按钮调出对话框时,它显示的是不同的数据......

不推荐我知道,但是现场直播:

  

92.236.219.136/Admin /

     

用户:堆叠

     

通过:堆栈

4 个答案:

答案 0 :(得分:2)

这是最强大的方式,特别是如果你想要传递的不仅仅是一个字符串:

<?php

// Call this function to pass an object to the JS code
function php_vars_to_js($id, $obj) {
  echo "<script id='$id' type='text/php_data'>";
  echo htmlspecialchars( json_encode( obj ) );
  echo '</script>';
}

// for examlpe
php_vars_to_js( "php_vars", array("a_string" => "foo", "a_num" => 12 ) );

然后以这种方式阅读:

var php_vars = $.jsonDecode( $("php_vars").text() );

答案 1 :(得分:1)

您可以像这样在jQuery中获取传递的href

$('.btn-setting').click(function(e){
    e.preventDefault();
    var passedValue = $(this).attr('href');
    // passedValue contains your <?=$UserID?> from the link
    // ...
    $('#myModal').modal('show');
});

答案 2 :(得分:0)

<a href="<?php echo $UserID; ?>" class="btn btn-info btn-setting">Click for dialog</a>

你回应了回声

答案 3 :(得分:0)

您可以使用data属性,如下所示:

<a href="<?php echo $UserID; ?>" data-variable1="<?php echo $UserID; ?>" class="btn btn-info btn-setting">Click for dialog</a>

在你的JS中:

$('.btn-setting').click(function(e){
        e.preventDefault();
        var1 = $(this).attr("data-variable1"); // Here is your PHP Variable now.. you can handle it to your Modal etc..
        $('#myModal').modal('show');
});