2012-03-11 63 views
0

我有一个程序,允许您单击网格时记录缺席1次。当你第二次点击它时,它会记录下电网的时间。当您第三次单击它时,状态将恢复为原始状态。我可以将缺席追加到隐藏字段上,以发布到另一个php上。但是,我似乎无法将延迟记录追加到另一个隐藏字段。当我看着我的另一个php文件时,即使应该从列表中删除,仍然会记录缺席。最糟糕的部分是,没有任何东西被追加到后期隐藏领域。Jquery:在点击隐藏字段时追加/删除项目

我非常需要这方面的帮助。另外,我希望你能解释我犯错的地方,以便我能理解代码。谢谢!

下面的代码:http://jsfiddle.net/Ms6FP/2/

+0

在jsfiddle.net创建演示 – charlietfl 2012-03-11 16:16:58

+0

Jquery有点新,所以我会问这个。为什么有以下代码行? $(“#sortable li”)。each(。我问的原因是不应该是唯一的吗?当我查看代码时,找不到可排序的li元素 – 2012-03-11 16:30:59

+0

Here:http:// jsfiddle。 net/Ms6FP/1/ – user1056998 2012-03-11 16:36:02

回答

0

一个更好的办法来做到这一点是创建在提交的隐藏字段的内容。

假设你的提交按钮被赋予ID mySubmitButton和你有一个隐藏字段与ID lateHiddenField,你可以这样做:

$("#mySubmitButton").submit(function(){ 
    $(".late").each(function(index,value){ //iterate through each late student 
    //append the late student's name 
    $("#lateHiddenField").text($("#lateHiddenField").text()+value.text()+"\n"); 
    }) 

    //do the same for the absent students 
} 

的优点是:

  • 更快的处理 - 这只运行一次
  • 简单的代码 - 你没有 修改任何东西
0

我猜你正试图通过不同的点击状态来给出迟到的学生总数。

在这种情况下,here是一个可行的解决方案

来标记略有变化,使其操控性更强

<div id="collect1"> 
    late: <span>0</span> 
</div> 

然后,算你已经保持数组的长度和更新

$("#collect1").children("span").html(late.length);