2010-07-23 4 views
0

Je suis en train de passer un variabel d'un événement .cliquez à un plugin colorbox comme ceci:jquery rendre public variable à partir .cliquez

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

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

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

    return false; 

}); 

J'ai besoin $reportID être visible à un appel AJAX pour faire partie de une URL.

Est-ce que cela peut être fait? Ma connaissance de le faire est limitée évidemment :(

Répondre

2

Que diriez-vous de déclarer la variable en dehors de l'événement de clic et de lui donner une visibilité publique.

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; 

}); 

Maintenant, vous pouvez utiliser $reportID ailleurs dans votre script trop

+0

cela peut être utilisé pour passer à l'appel colorbox AJAX comme ci-dessus – RyanP13

+0

@Ry? anP13: Oui, assurez-vous de déclarer cette variable avant toute autre chose, de préférence après la balise de début «

0

Je suis en train de passer à $ reportID un plugin colorbox comme ceci:

// 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(); 

    } 

}); 
Questions connexes