【发布时间】:2017-08-06 12:31:18
【问题描述】:
我有两个部分将显示在我的小提琴中。您选择产品的第一部分(A 或 B)。然后,每当您选择一个选项时,都会显示一个下一步按钮。当您单击下一步时,它会将您带到显示产品选择的第二部分。
我相信我的问题存在于我的更改函数或其中的 if 语句中。基本上,我不确定我对以此开头的代码做错了什么:
$('#package1, #package2').on('change', function () {
if ($('#package1' && '#package2').prop("checked")) {
我想根据选择对第二部分(选择产品后)进行不同的格式化。我正在努力做的是,如果同时选择产品 A 和 B 以仅在第二部分中显示产品 A 部分 #pg-review-section 并隐藏产品 B 部分 #tp-selection。
基本上,如果同时选择了 A 和 B,我不确定如何修改代码,但我希望它在选择随时更改的情况下运行更改函数。
Here is a fiddle for demonstration.
下面的代码是我正在努力的。
$('#package1', '#package2').on('change', function () {
if ($('#package1' && '#package2').prop("checked")) {
$('#pg-review-section').show();
$('#tp-review-section').show();
$('#tp-selection').hide();
$('#tp-selection').fadeBoolToggle($('#calendar-preview-select option:selected'));
}
});
$('#package1').on('change', function () {
if ($('#package1').prop("checked")) {
$('#pg-selection').show();
$('#pg-review-section').show();
$('#tp-review-section').hide();
} else {
$('#pg-selection').hide();
}
});
$('#package2').on('change', function () {
if ($('#package2').prop("checked")) {
$('#tp-selection').show();
$('#tpreview-section').show();
$('#pg-review-section').hide();
} else {
$('#tp-selection').hide();
}
});
更新:
$('#package1, #package2').on('change', function () {
if ($('#package1').prop('checked') && $('#package2').prop('checked').length === 2) {
$('#pg-review-section').show();
$('#tp-review-section').show();
$('#tp-selection').hide();
$('#tp-selection').fadeBoolToggle($('#calendar-preview-select option:selected'));
}
else if ($('#package1').prop("checked") && !$('#package2').prop('checked')) {
$('#pg-selection').show();
$('#pg-review-section').show();
$('#tp-review-section').hide();
}
else if ($('#package2').prop("checked") && !$('#package1').prop('checked')) {
$('#tp-selection').show();
$('#tp-review-section').show();
$('#pg-review-section').hide();
}
});
【问题讨论】:
-
我认为
$('#package1', '#package2')应该是$('#package1, #package2')- 注意引号。另外,需要单独发现checked状态,即if ($('#package1').prop('checked') && $(''#package2').prop('checked')) -
@RoryMcCrossan 谢谢,但我不确定我做错了什么,因为更改为您的解决方案仍然显示产品 B。
-
@RoryMcCrossan 在我的问题中,我添加了我现在正在尝试的更新代码。这不起作用。我改变了一些结构。
-
我不知道我做错了什么。基本上,如果您单击产品 A 和 B(img 所在的图标)。然后继续。我只想显示 A 的内容(现在 B 也在显示)。然后,当您选择 A 的选项之一(1、2 或 3)时,它将显示 B。我扩展了我的小提琴。 jsfiddle.net/qshmxnuw/1
标签: javascript jquery function checkbox onchange