Это undefined
, потому что, когда вы находитесь в функции click
, в наборе $(this)
содержится только один элемент, для которого вы определяете свойство click
. Так что в наборе нет следующего брата.
Пояснение:
$('button[type=button]')
содержит все элементы button
с атрибутом type=button
.
Когда вы определяете обработчик кликов на них, вы создаете для каждого из них функцию, и в этой функции this
будет элементом, для которого вы определяете обработчик событий.
Когда вы используете $(this)
, вы создаете набор оберток jQuery, который содержит только этот элемент.
.next()
используется для выбора следующего брата в наборе, но в вашем наборе есть только один элемент.
Решение:
$ (this) .siblings ("input"). Is (": флажок")
Кстати, использование флажка - тоже проблема, но причина вашей первоначальной неопределенной проблемы - выше.
Вместо этого используйте .is(":checked")
.