为什么此功能会破坏我的表单功能?

时间:2020-05-19 13:09:26

标签: javascript jquery

我试图弄清楚为什么以某种方式编写时此功能不起作用,但如果我破坏了该功能,则可以起作用。

我最初隐藏表单的各个部分,然后希望基于单选检查显示或隐藏。这是在不同页面上的两种不同形式,所以我想知道这是否与以第一种方式编写的方式有关?

jQuery:

$formMailSelected.hide();
$formEmailSelected.hide();
$formPhoneSelected.hide();
$formEmailSelectedRepresentative.hide();

这样写时不起作用:

  $('input:radio[name="howToContact"]').change(function () {
  if (this.checked) {
    if (this.value === 'Phone' || 'Mail') {

      $formPhoneSelected.fadeIn(750);
      $formEmailSelectedRepresentative.hide();

      $formMailSelected.fadeIn(750);
      $formEmailSelected.hide();

    } else if (this.value === 'Email') {

      $formEmailSelectedRepresentative.fadeIn(750);
      $formPhoneSelected.hide();

      $formMailSelected.hide();
      $formEmailSelected.fadeIn(750);
    }
  }
});

分解并像这样写,它确实可以按照我的意愿工作:

  $('input:radio[name="howToContact"]').change(function () {
  if (this.checked) {
    if (this.value === 'Mail') {

      $formMailSelected.fadeIn(750);
      $formEmailSelected.hide();

    } else if (this.value === 'Email') {

      $formMailSelected.hide();
      $formEmailSelected.fadeIn(750);

    }
  }
});


$('input:radio[name="howToContact"]').change(function () {
  if (this.checked) {
    if (this.value === 'Phone') {

      $formPhoneSelected.fadeIn(750);
      $formEmailSelectedRepresentative.hide();

    } else if (this.value === 'Email') {

      $formPhoneSelected.hide();
      $formEmailSelectedRepresentative.fadeIn(750);
    }
  }
});

0 个答案:

没有答案