Я пытаюсь разрешить моим пользователям нажимать на строку таблицы, чтобы установить флажок.Установите флажок при нажатии на строку таблицы
<table>
<tr>
<td onclick="toggleIt(this)">
<input type="checkbox"/> Option 1
</td>
</tr>
<tr>
<td onclick="toggleIt(this)">
<input type="checkbox"/> Option 2
</td>
</tr>
</table>
function toggleIt(myTd) {
$(myTd).find('input').prop('checked', !$(myTd).find('input').prop('checked'));
}
Это прекрасно работает, пока вы не нажмете сам флажок, то он не будет работать. Я предполагаю, что checkbox проверяет себя, затем запускается javascript, и он снова меняет его.
jsFiddle: http://jsfiddle.net/toxu1v2o/1/
EDIT: Извините за не уточнения, мне нужно, чтобы быть в состоянии нажать на весь td
тег, это не будет работать с этикетками: http://jsfiddle.net/toxu1v2o/4/
РЕШЕНИЕ:
Вместо используя this
, используйте event
. Затем проверьте, нажата ли эта кнопка или нет. Что-то вроде этого:
http://jsfiddle.net/toxu1v2o/17/
Я думаю, что идея заключается в том, что ОП хочет, чтобы иметь возможность щелкнуть в любом месте в тд и для этого, чтобы установить флажок , если вы добавите это к своим и их скриптам, вы увидите, что я имею в виду. 'td {border: 1px solid; width: 200px} ' – wf4
@ wf4 в этом случае' label {display: block; } 'Нет смысла делать это поведение в JS, когда вы получаете его полностью бесплатно, перекрестный браузер в стандартном HTML. –
Спасибо, но проверьте обновленный вопрос –