2015-01-08 4 views
1

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

Любая идея, как ее получить, она была бы принята.

<tr> 
      <td>1</td> 
      <td><div class="switch switch-small"> 
      <input name="op1" type="checkbox" checked /> 
      </td></div> 
     </td></tr> 

$("tbody tr td input:checkbox").change(function() { 
    id = $(this).parent().parent().children().index(this.parentNode); 
    alert(id); 
}); 

enter image description here

+2

Можете ли вы предоставить HTML-код, пожалуйста? Благодаря! –

+0

ответ

0

Попробуйте простой

$(function() { 
    $("table [type='checkbox']").on("change", function() { 
     console.log($(this).parent().prev().html()); 
    }); 
}); 

JQuery селектор значение: "что-нибудь в таблице, имеющей type=checkbox"

+0

То, что я хочу, чтобы получить место, где я бегу событие изменения. – user1387989

+0

Обновлен мой код – sodawillow

1

jsBin demo

Вы не может закрыть a </div> после </td>. Также вы закрываете 3 раза элемент TD. Просмотрите разметку HTML сразу.

Если вы хотите получить TD, где вы щелкнули флажок:

$("td :checkbox").change(function() { 
    var TD = $(this).closest("td"); 
    alert(TD.index()); // or use TD.closest("tr").index(); // to get the TR index 
}); 
0

вар ячейки = $ (это) .closest (ТД '); var cellIndex = cell [0] .cellIndex

var row = cell.closest ('tr'); var rowIndex = строка [0] .rowIndex;

+0

ваш код будет висеть, если этот JS открывается на странице, где нет таблицы. –

1

Ваш вопрос непонятен, но я полагаю, вы хотите получить индекс, соответствующий радиовходу. Как @Roko отметил в своем ответе, ваша разметка не так, она должна быть в следующем виде:

<tr> 
    <td>1</td> 
    <td> 
     <div class="switch switch-small"> 
      <input name="op1" type="checkbox" checked /> 
     </div> 
    </td> 
</tr> 

Наконец, чтобы получить индекс, 1, когда вход с именем op1 изменений, вот как это сделать:

$("td input[type='checkbox']").on("change", function() { 
    var trParent = $(this).parent().parent().parent(); 
    var id = $("tr").index(trParent); 
    alert(id); 
}); 

Я надеюсь, что это поможет, или вы можете рассмотреть вопрос о своем вопросе.

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