2011-12-19 44 views
0

只是想把它放在那裏,我搜索了所有的stackoverflow和谷歌,但無法解決我的問題與我發現的幫助。facebox不工作的元素與jQuery加載到特定的div

我有一個每週日曆,哪幾天被分成div元素。每個div的ID爲d-m-Y。我使用php和jQuery的組合將事件加載到所選周的幾天。

下面是jQuery和PHP的組合,可以做到這一點(將事件加載到一週中的某幾天)。

echo "<script type=\"text/javascript\"> 
    jQuery(document).ready(function($) { 
     $('a[rel*=facebox]').facebox({ 
      loadingImage : '/scripts/facebox-v1.3/loading.gif', 
      closeImage : '/scripts/facebox-v1.3/closelabel.png' 
     }); 
     $(document).bind('beforeReveal.facebox', function() { 
     $(\"#facebox .content\").empty(); 
    }); 
    "; 

    for($day=1; $day<=5; $day++) { 
     echo "$('#".date('d-m-Y', strtotime($year."W".$week.$day))."').append($('<div />').load('/cal/load #".date('d-m-Y', strtotime($year."W".$week.$day))."'));\n"; 
    } 
    echo "}); 
    </script>"; 

下面是加載到特定div的數據。

echo "<div id='".date('d-m-Y', strtotime($event['timeStart']))."' style='width: 100%; height: ".$eventLong."px; top: ".$eventPosition."px; left: 0%; position: absolute; z-index: 1; background: #C30;'><a href='#' rel='facebox'>Delete</a></div>"; 

我的問題是,我不能讓facebox工作 - 我要實現的是,當我點擊刪除按鈕,facebox彈出。

回答

0

你有一個jquery錯誤?

也許你有一個JQuery的衝突?如果你寫一個簡單的警報($('body')。html());它會起作用嗎?

如果是這樣你需要知道你正在加載的scrips好...

+0

謝謝您的回答。 不,沒有錯誤。並且腳本加載正常,因爲facebox工作在「day」div之外的元素上。它僅適用於在div div(d-m-Y)中加載的元素。 我希望我不會讓事情變得複雜。 – roks0n 2011-12-19 13:14:35

0

的代碼打後,我得到它的工作 - 有點。 Facebox現在可以在append.load元素上工作。但只有在我在網站上的某處點擊某個按鈕後。任何關於如何使它準備就緒的想法?

「修改後的代碼」:

echo "<script type=\"text/javascript\"> 
    $(document).ready(function() { 
     $('a[rel*=facebox]').facebox({ 
      loadingImage : '/scripts/facebox-v1.3/loading.gif', 
      closeImage : '/scripts/facebox-v1.3/closelabel.png' 
     }); 
     $(document).bind('click', function() { 
      $('a[rel*=facebox]').facebox({ 
      loadingImage : '/scripts/facebox-v1.3/loading.gif', 
      closeImage : '/scripts/facebox-v1.3/closelabel.png' 
     }); 
     $(document).bind('beforeReveal.facebox', function() { 
      $(\"#facebox .content\").empty(); 
     }); 
    }); 
    "; 

    for($day=1; $day<=5; $day++) { 
     echo "$('#".date('d-m-Y', strtotime($year."W".$week.$day))."').append($('<div />').load('/cal/load #".date('d-m-Y', strtotime($year."W".$week.$day))."'));\n"; 
    } 
    echo "}); 
    </script>"; 
1

OK我遇到的另外一個問題,我想我固定的代碼......這是理所應當的了。

下面是jQuery的版本,而PHP(我在代碼中的所有日期的$ date變量):

$(document).ready(function() { 
    $('#30-01-2012').append($('<div>').load('/cal/load/room/del/date/30-01-2012 #30-01-2012' ,function() { 
     $('#delete a[rel*=facebox]').facebox(); 
    }); 
});