-
迭代div name取不到next 的值0
- <table class="table table-bordered" style="width:100%;">
- <tbody id='tab2' class='table table-hover'><tr><th>序号</th><th>支付时间</th><th>支付金额</th><th>是否已出账</th></tr>
- <tr>
- <td>1</td>
- <td ><div id="rtime1" class="datepicker-target">2014-05-01</div></td>
- <td><input type="text" name="money"/> </td>
- <td>否</td>
- </tr>
- <tr>
- <td>2</td>
- <td><div id='rtime2' class="datepicker-target">2014-05-02</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td>3</td>
- <td><div id='rtime3' class="datepicker-target">2014-05-03</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td>4</td>
- <td><div id='rtime4' class="datepicker-target">2014-05-04</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td>5</td>
- <td><div id='rtime5' class="datepicker-target">2014-05-05</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td>6</td>
- <td><div id='rtime6' class="datepicker-target">2014-05-06</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td>7</td>
- <td><div id='rtime7' class="datepicker-target">2014-05-07</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td>8</td>
- <td><div id='rtime8' class="datepicker-target">2014-05-08</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td>9</td>
- <td><div id='rtime9' class="datepicker-target">2014-05-19</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td>10</td>
- <td><div id='rtime10' class="datepicker-target">2014-05-10</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td>11</td>
- <td><div id='rtime11' class="datepicker-target">2014-05-11</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td>12</td>
- <td><div id='rtime12' class="datepicker-target">2014-05-12</div></td>
- <td><input type="text" name="money"/></td>
- <td>否</td>
- </tr>
- <tr>
- <td colspan="5" style="text-align: center" >
- <button type="button" class="btn" id="okBtn">
- <span>保存</span>
- </button>
- <button type="button" class="btn" id="backBtn">
- <span>返回</span>
- </button>
- </td></tr>
- </tbody>
- </table>
- <script>
- $(function(){
- $(".datepicker-target").each(function(){
- var value=$(this).html();
- var next=$(this).next().html();
- if(next!=null){
- if(value>next){
- alert("前面的时间大于后面的时间");
- return;
- }
- }
- });
为什么next的值是null,怎么获取next的值?
2014年5月18日 20:43
4个答案按时间排序按投票排序
-
你是想获取支付金额么?
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
-
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
-
<td><div id='rtime11' class="datepicker-target">2014-05-11</div></td>
是文本值啊 要通过html()来获取到啊!2014年5月18日 21:48
-
- 你这样取不到next的
- 如<td><div id='rtime12' class="datepicker-target">2014-05-12</div></td>
- 这条记录你的div的next是空的
- 除非你的是这样的
- <td>
- <div id='rtime12' class="datepicker-target">2014-05-12</div>
- <div>测试数据</div>
- </td>
- var next=$(this).next().html();
- 这样的你的next就是 测试数据了
2014年5月18日 21:15最后解决:
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; } } } }