2015-05-06 96 views
2

我可能會出現由於許多原因導致的問題,所以首先是場景。我正在重建一個大約12年曆史的新聞檔案系統的導航界面。所以,一些遺留問題。我正在使用php和jQuery的組合。接口
enter image description here 屏幕截圖
DATA:
一個平面文件結構...
DIR - 2015年
文件:4-1-2015.dat + 30-1-2015.dat +等
dir - 2014
files: - +等
與每個* .dat文件保存該日期的通訊的HTML。點擊功能無法獲取ID

在接口每個月 - 天根據文件結構使用普通的class =「linky」設置ID,例如:id =「4-1-2015」= day-month-year {.dat later later}

PHP構建一個文件陣列;下面的剪報[var = listing]

[2015] => Array 
[1] => Array ~january 
    [0] => 4 
    [1] => 30 
[2] => Array ~ february 
    [0] => 18 
[3] => Array 
    [0] => 9 etc. 

並且,再次構建PHP的第一個屏幕。
警報(見下文)適用於此。

THEN ... JQUERY

$(document).ready(function() { 
var dataArray = <?php echo json_encode($listing); ?>; // the full array 
var yearArray = <?php echo json_encode($yearList); ?>; // just years 
var newDate = parseInt($("#navYear").text(), 10)-1;  

$.each(dataArray[$("#navYear").text()], function(index, days) { // index=Month value=Day 
dataArray[$("#navYear").text()][index].sort(function(a, b){return a-b}); // numerical order 
    dayings = days.toString().split(','); // monthLinks = [1] 4,19 [2] 4,18,26 [3] 20 
    for (var d = 0; d <dayings.length; ++d) { 
monListing = monListing+'<span class="linky" id="'+dayings[d]+'-'+index+'-'+newDate+'">'+monArray[index-1]+' '+dayings[d]+'</span>'; 
    } 
    }); // end each... 
$(".linky").click(function() { 
    dataLink = $(this).attr("id"); 
    // dataLink = this.id; 
    alert(dataLink); 
    }); 
}); // end doc ready 

正如我提到的,PHP構建產生警報。 js沒有。

enter image description here

FF檢查清楚地顯示了id作爲被設定預期類。但沒有警報。

我試着預先設置所有的列表值作爲整數和字符串。例如。
var eachDay = parseInt(dayings [d],10);或:
var eachDay = dayings [d] .toString();

我試圖改變「 - 」到「_」
集ID爲「ASD」
的重複排列,......什麼都我能想到的可能是錯誤的。

解決方案逃避我!
這裏有什麼明顯的東西嗎?
即使是最晦澀的建議也會受到歡迎。謝謝。

+0

當你點擊'linky'你做了什麼?我的意思是它在你的事件內部導航? –

+0

聲明變量:var dataLink = $(this).attr(「id」); – Sherlock

+0

click linky沒有結果 - no'undefined'沒有空的提示框......沒有任何東西 – Arfa

回答

2

看來llike .linky是你與你的代碼中創建一個動態的元素,所以你需要使用.on使click事件:

$("body").on('click', '.linky', function() { 
+0

YESssss!非常感謝您的快速響應......並且,這是一個完全可行的解決方案,當您知道如何時很容易:) :) – Arfa

+0

@阿爾法我很高興它的工作,不要忘記標記我的回答:) – renakre

+0

標記。我很抱歉忘記我不經常來這裏......但是當我這樣做的時候總是很開心。 – Arfa

0

而不是在做$(this).attr("id")試試只是在做$(this).id

+0

正如你所看到的,我嘗試了一個簡單的'this.id'但會嘗試你的建議。謝謝 – Arfa

+0

沒有:(因爲某種原因,它搞砸了2015年的水平 - 工作的很奇怪 – Arfa