如何使用javascript从第二个标记获取文本值

时间:2016-08-30 04:52:21

标签: javascript jquery html

我正在尝试传递从datepicker插件返回的日期值,但是值没有显示在console.log()中,这意味着它们没有被发送。我在想我的问题是在

var $fel = $el.parent('tr:second').find('.datepicker');
var datepicker = $fel.text();

这给了我这个错误:

  

未捕获错误:语法错误,无法识别的表达式:不支持   伪:第二次

我的第一个<tr>代码包含:

<tr class="main">  
    <td class="main_tr" data-id1="<?php $row["id"];?>" data-parentId="main"><?php $row["id"];?></td>
    <input type="hidden" name="name" id="name" class="name" value="<?php $row["name"];?>">
    <td><button id="find" data-id2="<?php $row["id"];?>">find</button></td>
</tr>

第二个<tr>代码

<tr>
    <td>Date Begin: <input type="text" class="datepicker" data-parentId="main" id="datepicker" name="datepicker">

    Date End: <input type="text" class="datepicker2" data-parentId="main" id="datepicker2" name="datepicker2"></td>

</tr>

这是我的javascript:

    $(document).on('click', '#find', function(){
        //var id = $(this).data("id2");
        var $el = $(this);
        var id = $el.data("id2");

        var $fel = $el.parent('tr:second').find('.datepicker');
        var datepicker = $fel.text();

        var $fel2 = $el.parent('tr:second').find('.datepicker2');
        var datepicker2 = $fel2.text();


        $.ajax({
            url:"select_.php",
            method:"POST",
            data:{
                id:id,
                datepicker:datepicker,
                datepicker2:datepicker2
            },
            dataType:"text",
            success:function(data){
                $('#live_view1').html(data);
                $('#live_view2').html(data);
                console.log(id);
                console.log(datepicker);
                console.log(datepicker2);
            }
        })
    });

2 个答案:

答案 0 :(得分:1)

你有多种可能性:

CSS :首先,您可以找到所有符合 tr 类型的孩子,然后您可以选择第二个:

$('#parent_element_id').find('tr:nth-child(2)');

JQuery:或者你只是抓住所有孩子作为列表,无论他们是什么类型,然后只选择第二个(从0开始):

$('#parent_element_id').children().eq(1);

答案 1 :(得分:0)

你可以使用:eq(i)pseudo,这里你必须传递从ZERO开始的索引。

var $fel = $el.parent().parent().('tr:eq(1) .datepicker');
var datepicker = $fel.text();

了解更多详情check here