点击时单独的儿童行为输入 jQuery
Separate children behaviour input on click jQuery
https://codepen.io/btek/pen/qBjaddP
我正在尝试将 selection 在 select 上分离为 select 仅来自一种产品的选项。
我正在尝试 each() 、 children()。
$('[name="subscribe"], [name="not_subscribe"]').off('click').on('click', function (event) {
var isSubscribe = $(event.target).val() === 'subscribe';
if ($(event.target).prop("checked")) {
$('input[type="checkbox"][value="not_subscribe"]').prop('checked', !isSubscribe);
$('input[type="checkbox"][value="subscribe"]').prop('checked', isSubscribe);
$('[data-amrecurring="recurring-settings"]').toggle(isSubscribe);
} else {
$('input[type="checkbox"][value="not_subscribe"]').prop('checked', isSubscribe);
$('input[type="checkbox"][value="subscribe"]').prop('checked', !isSubscribe);
$('[data-amrecurring="recurring-settings"]').toggle(!isSubscribe);
}
}.bind(this));
为方便起见,我已将您的代码移至 JSFiddle。我只更改了 javascript.
我将事件拆分为“取消订阅”和“订阅”,并通过两个函数找到了您需要的项目:parents
and find
:
$(event.target).parents('form').find('[name="not_subscribe"]').prop('checked', false);
$(event.target).parents('form').find('[data-amrecurring="recurring-settings"]').toggle(true);
和toggle
这里就不用了,你要的状态你自己知道。请改用不带参数的 show
和 hide
。
$(event.target).parents('form').find('[data-amrecurring="recurring-settings"]').show();
https://codepen.io/btek/pen/qBjaddP
我正在尝试将 selection 在 select 上分离为 select 仅来自一种产品的选项。
我正在尝试 each() 、 children()。
$('[name="subscribe"], [name="not_subscribe"]').off('click').on('click', function (event) {
var isSubscribe = $(event.target).val() === 'subscribe';
if ($(event.target).prop("checked")) {
$('input[type="checkbox"][value="not_subscribe"]').prop('checked', !isSubscribe);
$('input[type="checkbox"][value="subscribe"]').prop('checked', isSubscribe);
$('[data-amrecurring="recurring-settings"]').toggle(isSubscribe);
} else {
$('input[type="checkbox"][value="not_subscribe"]').prop('checked', isSubscribe);
$('input[type="checkbox"][value="subscribe"]').prop('checked', !isSubscribe);
$('[data-amrecurring="recurring-settings"]').toggle(!isSubscribe);
}
}.bind(this));
为方便起见,我已将您的代码移至 JSFiddle。我只更改了 javascript.
我将事件拆分为“取消订阅”和“订阅”,并通过两个函数找到了您需要的项目:parents
and find
:
$(event.target).parents('form').find('[name="not_subscribe"]').prop('checked', false);
$(event.target).parents('form').find('[data-amrecurring="recurring-settings"]').toggle(true);
和toggle
这里就不用了,你要的状态你自己知道。请改用不带参数的 show
和 hide
。
$(event.target).parents('form').find('[data-amrecurring="recurring-settings"]').show();