2016-07-05 3 views
0

Я пытаюсь извлечь данные в строке (мне нужен только один столбец), нажимая кнопку ввода в строке. Я использовал:Как выбрать данные из строки таблицы с помощью jQuery

$(document).ready(function() { 
    var ttl_emp = $('#no_emp').text(); 
    var ttl_sal = $('#tl_sal').text(); 

    $('#wtable').on('click', 'input', function() { 
    var rdata = $(this).parents('tr td:nth-child(8)').text(); 

    alert(rdata); 
    ttl_sal = ttl_sal - c_emp_netSal; 
    $(this).parents('tr').remove(); 
    $('#no_emp').text(ttl_emp - 1); 
    ttl_emp = ttl_emp - 1; 

    $('#tl_sal').text(ttl_sal); 
    }); 
}); 

Но не удалось, и консоль упоминает неопределенные данные. wtable - идентификатор таблицы.

+2

Введите HTML – Jonathan

+0

@ Джонатан я отредактирован – Bineesh

+0

скобках @ Джонатан HTML, является большой код с использованием printf. эта штука хорошо оценить? printf ("

Bineesh

ответ

0

Как ваша проблема, вы можете использовать этот код для получения данных из выбранной строки в таблице с помощью jquery. Это пример кода и попытайтесь понять эту логику, после чего вы можете реализовать в своем коде. Надеюсь, это будет полезно для вас.

Описание Мы используем функцию .find() для правильного управления в таблице. Так что если у вас есть input типа представляет собой текст, а затем использовать .find('input[type="text"]')

eq() является функцией, чтобы найти с помощью номера индекса, поэтому, если ваш столбец первой позиции в таблице, то вы должны использовать eq(0), чтобы получить значение первого столбца в таблице. Это условие номера индекса применяется для всех столбцов сиблинга.

В этом коде используется .val() для получения значения от textbox. Если вы хотите получить текст с метки, вы должны использовать .text().

Логика здесь

$(document).ready(function(){ 
    $('#tableid tr').each(function(){ 
     var name = $(this).closest('td').find('input[type="text"]').eq(0).val(); 
    }); 
}); 

Ваш код с Logic

$(document).ready(function() { 
var ttl_emp = $('#no_emp').text(); 
var ttl_sal = $('#tl_sal').text(); 

$('#wtable tr').on('click', function() { 
var rdata = $(this).find('td').eq(8).val(); // for label use val() otherwise for textbox use text() for get value 

alert(rdata); 
ttl_sal = ttl_sal - c_emp_netSal; 
$('#no_emp').text(ttl_emp - 1); 
ttl_emp = ttl_emp - 1; 

$('#tl_sal').text(ttl_sal); 
}); 
}); 

Live Demo

+0

Я просто получил неопределенный при использовании .val() и blank на .text(), но спасибо, что пытался за меня. – Bineesh

+0

можете ли вы разместить свой код в jsfiddle? – Developer

+0

да. но и большая часть html? – Bineesh

Смежные вопросы