2016-03-03 4 views
0

я создать таблицу с помощью JavaScript, но я застрял, когда я нажму таблицы тд, получить динамически т.д текстовое значение в JQuery без использования для контура/каждыйКогда я нажму тд Получить TD текст динамический в JQuery

function table_form(day, month, year) { 
 
    var tr = ''; 
 
    var table = '<table id="tbl" border="1px"><thead><tr><th><</th><th>Mar</th><th>></th><th></th><th><</th><th>2016</th><th>></th></tr><tr><th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr></thead>'; 
 
    //~ dynamic_date_form(2,2016); 
 
    var tr_inc = 0; 
 
    for (var i = 0; i < 5; i++) { 
 
    tr += '<tr>'; 
 
    for (var j = 0; j < 7; j++) { 
 
     tr_inc++; 
 
     tr += '<td id="id_' + tr_inc + '">' + tr_inc + ''; 
 
    } 
 
    } 
 
    tr += '</tr>'; 
 
    tr_inc++; 
 
    return table += tr; 
 
} 
 

 
$(document).ready(function() { 
 
    $("#date_id").one("click", function() { 
 
    this.insertAdjacentHTML("afterEnd", "<div id='lbl_date'></div>"); 
 
    $('#lbl_date').html(table_form(1, 1, 1)); 
 
    }); 
 
    
 
    $('#tbl').click(function() { 
 
    alert($(this).text()); 
 
    }); 
 
});
#lbl_date{ 
 
    position: absolute; 
 
    background-color:#FFAA41; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
 
<input type="text" id="date_id" class="date" /> 
 
<label for="lbl_date">date</label>

+0

попробуйте изменить '$ ("# date_id"). Один ("щелчок", функция() {' в '$ (документ) .На ("нажмите", "# date_id", функция() { ' – guradio

+0

Узнайте о делегировании событий. –

ответ

2

Вы должны event delegation для динамически генерируемого элемента, как следующее.

$(document).on('click', '#tbl td',function(){ 
    alert($(this).text()); 
}); 
Смежные вопросы