无法从

时间:2016-11-03 16:47:47

标签: javascript jquery html

我有一个非常令人沮丧的问题。我在div中有两种段落,内置一种,如下所示

         <div >
             <table id="box">
                <thead>
                    <tr>
                        <td><p class="linkin" data-value="test22">test</p></td>
                    </tr>

                </thead>
                <tbody>

                </tbody>
            </table>
            </div>
        </div>

这样的人:

$('.menu').on('click', function(){
    $('#box').toggle('slide').show();
     $.ajax({
         url:'fetchsubmenu.php',
         data : {nume : $(this).attr('data-value')},
         dataType : 'json',
         success:function(data){
         console.log(data);// process your response 
         showObjects(data);
        }
    });
});


    function showObjects(obiecte){

    $('#box tbody').html('');
        for(var i=0; i<obiecte.length; i++){               //Functia care arata obiectele
            var aparat = obiecte[i];
            $('#box tbody').append(getRow(aparat));
        }
}

function getRow(aparat){


    var row = '<tr>'+
        '<td>' + '<p class="linkin" data-value='+aparat.id+' >'+aparat.nume+'</p>' + '</td>'+   //functia care le aranjeaza
        '</tr>';

        return row;
}

问题在于,当我想获得这样的数据值属性时:

$('.linkin').on('click',function(){
     $.ajax({
        url:'test.php',
        dataType:'JSON',
        data : {id : $(this).attr('data-value')},
        success:function(){
        console.log();
        alert('success');
        }
        });
    });

内置段落工作正常,我得到数据值属性,但获取的段落不起作用,我无法获得任何属性。 对不起我的英语不好。

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为事件侦听仅绑定到代码运行时出现的对象。这可以解释为什么在代码运行后获取的对象不能按预期工作。这可以通过简单地绑定到文档来解决。

$(document).on('click', '.linkin', function() {
     $.ajax({
        url:'test.php',
        dataType:'JSON',
        data : {id : $(this).attr('data-value')},
        success:function() {
          alert('success');
        }
      });
 });