将ID变量传递给javascript函数

时间:2010-11-09 20:28:01

标签: php javascript jquery modal-dialog

我有以下链接打开一个jquery模式窗口:

<div id='confirm-dialog'><a href='#' class='confirm'><img src='1.png' /></a></div>

以及处理它的以下JS代码:

jQuery(function ($) {
    $('#confirm-dialog input.confirm, #confirm-dialog a.confirm').click(function (e) {
        e.preventDefault();

        confirm("Are you sure you want to delete item id='IDNUMBER'.", function () {
            window.location.href = 'path to php process script';
        });
    });
});

function confirm(message, callback) {
    $('#confirm').modal({
        closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
        position: ["30%",],
        overlayId: 'confirm-overlay',
        containerId: 'confirm-container', 
        onShow: function (dialog) {
            var modal = this;

            $('.message', dialog.data[0]).append(message);

            // if the user clicks "yes"
            $('.yes', dialog.data[0]).click(function () {
                // call the callback
                if ($.isFunction(callback)) {
                    callback.apply();
                }
                // close the dialog
                modal.close(); // or $.modal.close();
            });
        }
    });
}

我无法解决两个问题:

  1. 如何将ID变量(可能还有其他变量)传递给javascript函数,以便在确认窗口中提交“yes”时,php路径将包含:http://www.pathtophp.com?ID=12345

  2. 如何在弹出文本中显示ID变量(显示为:... delete item id =“IDNUMBER”...)

2 个答案:

答案 0 :(得分:2)

你可以简单地在PHP生成的页面的头部(包括其他JS文件之前)添加

<script type="text/javascript">
//Assumes id is passed in the URL
var id = <?php print $_GET['id'];?>;
</script>

然后变量“id”可用于页面上的所有JavaScript函数。

或者,如果您希望将此功能应用于页面上有多个链接,则可以将id添加到锚标记的rel属性中:

<a href="javascript:void(0)" class="confirm" rel="<?php print $id;?>">

然后你将你的jQuery函数修改为

jQuery(function ($) {
    $('#confirm-dialog input.confirm, #confirm-dialog a.confirm').click(function (e) {
        e.preventDefault();

        confirm("Are you sure you want to delete item id='"+ e.currentTarget.rel +"'.", function () {
            window.location.href = 'http://www.pathtophp.com?ID=' + e.currentTarget.rel;
        });
    });
});

答案 1 :(得分:0)

为1你可以使用如下

var value= "<%=value from server side%&gt;“中