由于许多原因,我可能会出现问题,首先是场景。我正在为大约12年的新闻档案系统重建导航界面。所以,一些遗留问题。我使用的是php和jquery的组合
界面的屏幕截图
数据:
平面文件结构......
dir - 2015
文件:4-1-2015.dat + 30-1-2015.dat +等
dir - 2014年
文件: - +等
每个* .dat文件保存该日期时事通讯的html。
在界面上,每个月 - 日的ID都根据文件结构设置,共同的类=" linky"例如:id =" 4-1-2015" =日 - 月 - 年{.dat后来添加}
PHP构建一个文件阵列;剪断[var = listing]
[2015] => Array
[1] => Array ~january
[0] => 4
[1] => 30
[2] => Array ~ february
[0] => 18
[3] => Array
[0] => 9 etc.
再次,PHP构建第一个屏幕 警报(见下文)适用于此。
然后那个......
$(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没有。
FF检查员清楚地显示id已设置为预期的类。但没有警报。
我尝试将所有monListing值预先设置为整数和字符串。例如,
var eachDay = parseInt(dayings [d],10);或:
var eachDay = dayings [d] .toString();
我尝试更改&#39; - &#39;到&#39; _&#39;
将ID设置为&#39; asd&#39;
多种排列......我能想到的可能是错误的。
解决方案让我不知道!!
你这里有什么明显的东西吗?
即使是最不起眼的建议也会受到欢迎。谢谢。
答案 0 :(得分:2)
似乎llike .linky
是您使用代码创建的动态元素,因此您需要使用.on
启用click
事件:
$("body").on('click', '.linky', function() {
答案 1 :(得分:0)
而不是$(this).attr("id")
尝试$(this).id
。