У меня есть данные таблицы с 3 флажками в последнем столбце. Мне просто нужны значения выбранных флажков, щелкнув эту ячейку или установив/сняв флажок. Ниже приведена структура, которую я пробовал.
HTML-
<input type="checkbox" name="Promoted" value="Promoted" id="promo_"
>Promoted
<input type="checkbox" name="Professional" value="Professional" id="prof_">Professional
<input type="checkbox" name="Amateur" value="Amateur" id="amat_">Amateur
jQuery-
$(document).ready(function () {
$('#table1 tr').click(function (event){
var user_id = $(this).attr('id');
var selected = $("#myOption_1 input:checked").map(function(i,el){return el.name;}).get();
var data1 = (" \"" + selected.join(";") + "\"");
alert(data1);
});
});
где table1 - это table- id, а myOption_1 - id, который увеличивается.
Мне нужно, установив флажок, мне нужно только отмеченные флажки в конкретной ячейке.
this
внутри обработчика кликов относится к щелчку tr
поэтому вы можете использовать .find() для фильтрации только входных элементов внутри этого tr
$(document).ready(function () {
$('#table1 tr').click(function (event) {
var user_id = $(this).attr('id');
var selected = $(this).find("input:checked").map(function (i, el) {
return el.name;
}).get();
var data1 = ('"' + selected.join(";") + '"');
alert(data1);
});
});
если вы хотите настроить таргетинг только на последнюю ячейку в tr, тогда
$(document).ready(function () {
$('#table1 td:last-child').click(function (event) {
var user_id = $(this).attr('id');
var selected = $(this).find("input:checked").map(function (i, el) {
return el.name;
}).get();
var data1 = ('"' + selected.join(";") + '"');
alert(data1);
});
});