jquery使变量public来自.click

时间:2010-07-23 09:59:19

标签: jquery ajax variables

我正在尝试将.click事件的变量传递到颜色框插件,如下所示:

$('.w_price_assess p.price_report > a').live('click', function() {

    var $reportRef = $(this).attr('href');

    var $reportID = $reportRef.substr($reportRef.lastIndexOf('/') + 1);

    return false;

});

我需要{AJ}调用可以看到$reportID,以构成网址的一部分。

可以这样做吗?我这样做的知识显然有限:(

2 个答案:

答案 0 :(得分:2)

如何在click事件之外声明变量并为其提供公共可见性:

var $reportID = null;

$('.w_price_assess p.price_report > a').live('click', function() {

    var $reportRef = $(this).attr('href');

    $reportID = $reportRef.substr($reportRef.lastIndexOf('/') + 1);

    return false;

});

现在您也可以在脚本的其他位置使用$reportID

答案 1 :(得分:0)

我正在尝试将$ reportID传递给颜色框插件,如下所示:

// Colorbox dialog window for price report
// Once dialog loaded append navigation header
$('.w_price_assess p.price_report > a').colorbox({
    title: 'Price report',
    transition: 'elastic',
    innerWidth: '800px',
    innerHeight: '650px',
    opacity: '0.5',
    onComplete: function() {
        // Call the dialog header and append
        $.ajax({
            type: 'GET',
            url: DashboardApplicationRoot + 'PriceReport/' + $reportID + '/header',
            dataType: 'html',
            cache: false,
            success: function(data) {
                $('#cboxTitle').append(data);
                // re-initialise form styling
                //$('form.jqtransform').jqTransform();                    
            },
            error: function(xhr, ajaxOptions, thrownError) {
                alert(xhr.status);
                alert(thrownError);
            }

        });

        // re-initialise scroll bars
        $('#cboxLoadedContent').jScrollPane();

        $('#cboxLoadedContent table').removeAttr('width');

        $('.Section1').wrap('<div class="print_me" />');

        $('.Section1').css({
            'width': '95%',
            'margin': 'auto'
        });

        $('.Section1 table').css({
            'width': '100%',
            'margin': 'auto'
        });

        $('#cboxLoadedContent > div').addClass('dialog_loaded');

    },

    onClosed: function() {

        // fixes scroll bar duplication bug
        $('#cboxContent .jScrollPaneContainer').remove();

    }

});