用Jquery隐藏所选项目

时间:2014-06-11 16:59:11

标签: javascript jquery if-statement

我有这段代码

  $("#tag_price").on('change', function(event) {
     if ($(this).val() == -2)
      $('<input type="text" class="ipt" id="customprice" name="customPrice" />').insertAfter(this),
      $('<p id="customprice" class="semi_margin_top">Introduce el precio exacto</p>').insertAfter(this);
     else if ($(this).val() !== -2)
      $('#customprice').hide;
  });

第一部分正在工作,当输入值为-2时,显示第二个输入。但是当我选择另一个值时,我希望它消失,因为如果没有,第二个输入将永远保留。

我希望第二个输入仅在选择值-2时显示,并在选择另一个值时消失。我以为我可以通过Jquery实现这一点并隐藏,但我不会工作。

谢谢!

1 个答案:

答案 0 :(得分:1)

您正在寻找的hide()的必然结果是show()。您的代码还有一些其他问题需要处理。

首先,您在if语句周围缺少{},因此else if应该抛出错误,因为$('<p...')行不在if。

其次,由于没有第三种选择,因此不需要else if。值为“-2”或不是。

现在,每当有人选择“-2”项时,你就会附加一个新元素,这不是正确的方法。检查这些元素是否已经存在于DOM中,只有在它们不存在时才添加它们。如果是,请拨打show()

if ($(this).val() === -2) {
    $('#customprice').show();
}