00



​​迭代div name取不到next 的值​​0




1. <table class="table table-bordered" style="width:100%;">
2. <tbody id='tab2' class='table table-hover'><tr><th>序号</th><th>支付时间</th><th>支付金额</th><th>是否已出账</th></tr>
3. <tr>
4. <td>1</td>
5. <td ><div id="rtime1" class="datepicker-target">2014-05-01</div></td>
6. <td><input type="text" name="money"/> </td>
7. <td>否</td>
8. </tr>
9. <tr>
10. <td>2</td>
11. <td><div id='rtime2' class="datepicker-target">2014-05-02</div></td>
12. <td><input type="text" name="money"/></td>
13. <td>否</td>
14. </tr>
15. <tr>
16. <td>3</td>
17. <td><div id='rtime3' class="datepicker-target">2014-05-03</div></td>
18. <td><input type="text" name="money"/></td>
19. <td>否</td>
20. </tr>
21. <tr>
22. <td>4</td>
23. <td><div id='rtime4' class="datepicker-target">2014-05-04</div></td>
24. <td><input type="text" name="money"/></td>
25. <td>否</td>
26. </tr>
27. <tr>
28. <td>5</td>
29. <td><div id='rtime5' class="datepicker-target">2014-05-05</div></td>
30. <td><input type="text" name="money"/></td>
31. <td>否</td>
32. </tr>
33.
34. <tr>
35. <td>6</td>
36. <td><div id='rtime6' class="datepicker-target">2014-05-06</div></td>
37. <td><input type="text" name="money"/></td>
38. <td>否</td>
39. </tr>
40. <tr>
41. <td>7</td>
42. <td><div id='rtime7' class="datepicker-target">2014-05-07</div></td>
43. <td><input type="text" name="money"/></td>
44. <td>否</td>
45. </tr>
46. <tr>
47. <td>8</td>
48. <td><div id='rtime8' class="datepicker-target">2014-05-08</div></td>
49. <td><input type="text" name="money"/></td>
50. <td>否</td>
51. </tr>
52. <tr>
53. <td>9</td>
54. <td><div id='rtime9' class="datepicker-target">2014-05-19</div></td>
55. <td><input type="text" name="money"/></td>
56. <td>否</td>
57. </tr>
58. <tr>
59. <td>10</td>
60. <td><div id='rtime10' class="datepicker-target">2014-05-10</div></td>
61. <td><input type="text" name="money"/></td>
62. <td>否</td>
63. </tr>
64. <tr>
65. <td>11</td>
66. <td><div id='rtime11' class="datepicker-target">2014-05-11</div></td>
67. <td><input type="text" name="money"/></td>
68. <td>否</td>
69. </tr>
70. <tr>
71. <td>12</td>
72. <td><div id='rtime12' class="datepicker-target">2014-05-12</div></td>
73. <td><input type="text" name="money"/></td>
74. <td>否</td>
75. </tr>
76. <tr>
77. <td colspan="5" style="text-align: center" >
78. <button type="button" class="btn" id="okBtn">
79. <span>保存</span>
80. </button>
81. <button type="button" class="btn" id="backBtn">
82. <span>返回</span>
83. </button>
84. </td></tr>
85. </tbody>
86. </table>







1. <script>
2. $(function(){
3. ".datepicker-target").each(function(){
4. var value=$(this).html();
5. var next=$(this).next().html();
6. if(next!=null){
7. if(value>next){
8. "前面的时间大于后面的时间");
9. return;
10. }
11. }
12.
13. });


为什么next的值是null,怎么获取next的值?






2014年5月18日 20:43


​​​​
​​郑云飞​​

0

0
0
5











• 添加评论
• 提高悬赏
• 问题补充
• 编辑tag
• 无满意答案












4个答案按时间排序按投票排序



00




你是想获取支付金额么?
next()官方文档是这样描述的

.next()
Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector.
[/html]
就是获取下一个兄弟节点
很明显楼主你给出的html中div没有下一个兄弟节点,如果你想获取支付金额,你可以通过
div的parent获取td ,next获取下一个相邻的td标签,通过td的children获取input
然后就可以根据input标签的value获取支付金额了。
具体代码如下:


$("#okBtn").on('click',function(){
$.each($(".datepicker-target"),function(i,item){
console.info($(item).parent().next().children()[0].value);
});
});

[/js]
希望可以帮到您!

2014年5月19日 10:51



​​

​​
​​ipconfig1​​

58

0
0
5








• • 1条评论
• • 采纳为答案


00




var next=$(this).next().html();
你这里$(this).next()获得的是$(".datepicker-target")返回的集合的所有后面的元素,
也就是说也是一个集合,所以获得的不是你想要的结果,应该改成这样

$(function(){
var id=1;
$(".datepicker-target").each(function(){
var value=$(this).html();
var idVal="#rtime"+id;
var next=$(this).next(idVal).html();
if(next!=null){
if(value>next){
alert("前面的时间大于后面的时间");
return;
}
}
++id;
});

2014年5月18日 22:03



​​

​​
​​千年松鼠​​

67

0
0
9








• • 2条评论
• • 采纳为答案


00




<td><div id='rtime11' class="datepicker-target">2014-05-11</div></td>

是文本值啊 要通过html()来获取到啊!

2014年5月18日 21:48



​​

​​
​​lao1984wang​​

319

0
0
13








• • 添加评论
• • 采纳为答案


00












1. 你这样取不到next的
2. 如<td><div id='rtime12' class="datepicker-target">2014-05-12</div></td>
3.
4. 这条记录你的div的next是空的
5.
6. 除非你的是这样的
7. <td>
8. <div id='rtime12' class="datepicker-target">2014-05-12</div>
9. <div>测试数据</div>
10. </td>
11.
12. var next=$(this).next().html();
13. 这样的你的next就是 测试数据了






2014年5月18日 21:15



​​

​​
​​lihao312​​

272

0
0
30








• • 2条评论
• • 采纳为答案




最后解决:


var times=$("time");
var length=times.length;
for(var i=0;i<length;i++){
var value=$(times[i]).datepicker('getFormattedDate');
if(length>1){
if(i<length-1){
var nextValue=$(times[i+1]).datepicker('getFormattedDate');
if(value>nextValue){
bootbox.alert("后面的支付之间不能小于前面的支付时间");
return;
}
}else{
var v1=times[i-2];
var v2=times[i-1];
if(v1>v2){
bootbox.alert("后面的支付之间不能小于前面的支付时间");
return;
}
}
}

}