Чтобы ответить на конкретный вопрос о том, как вызвать button
в пределах td
, щелкнув tr
:
$('.parent').on('click', function() {
$(this).find("button").click();
, который можно улучшить, назначив кнопке класс (incaseвы добавите дополнительные кнопки в будущем), например:
<button class='readbutton' ..`
затем
$('.parent').on('click', function() {
$(this).find("button.readbutton").click();
В этом сценарии кажется, что вам не нужна скрытая кнопка, поскольку вы можетевызовите функции скрытой кнопки напрямую.
Вместо:
$("button").click(handleClick);
используйте
$('.parent').on('click', function() {
.. other functionality ...
handleClick();
, поскольку вы новичок в js, обратите внимание на разницу междуhandleClick
и handleClick()
- при ()
она вызывает функцию, без передачи ее в качестве переменной функции.
$("button").click(handleClick);
совпадает с
$("button").click(function() { handleClick(); });
Если вы пытаетесь отправить форму, вы должны использовать $(form).submit()
- но в коде нет формы, как указано в комментариях, и вызов ajax может показаться более подходящим, чем отправка формы.
Наконец, рассмотрите возможность использования классов, а не установки CSS непосредственно как добавление / удаление классовэто довольно просто в jquery, например, для вашего tr
события click добавьте:
$(this).addClass("selected").siblings().removeClass("selected");