zhengun
2014-05-18 20:43 阅读 196
已采纳

迭代div name取不到next 的值

 <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的值?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    lovejiegirl1 lovejiegirl1 2014-05-19 10:51

    你是想获取支付金额么?
    next()官方文档是这样描述的
    [code="html"]
    .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获取支付金额了。
    具体代码如下:
    [code="js"]

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

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

    点赞 评论 复制链接分享
  • leehuat leehuat 2014-05-18 21:15

    [code="java"]
    你这样取不到next的

    2014-05-12

    这条记录你的div的next是空的

    除非你的是这样的

    2014-05-12
    测试数据

    var next=$(this).next().html();
    这样的你的next就是 测试数据了
    [/code]

    点赞 评论 复制链接分享
  • iteye_11009 iteye_11009 2014-05-18 21:48

    2014-05-11

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

    点赞 评论 复制链接分享
  • walthahat 千年松鼠728 2014-05-18 22:03

    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;
    });

    点赞 评论 复制链接分享
  • lovejiegirl1 lovejiegirl1 2014-05-23 14:21

    [code="java"]

    我只是打印了支付时间,你可以定义个变量来接收。

    $(function() {
    $("#okBtn").on('click',function(){
    $.each($(".datepicker-target"),function(i,item){
    console.info($(item).html());
    });
    });
    });

    [/code]

    点赞 评论 复制链接分享

相关推荐