根据值显示/隐藏标签?

时间:2016-02-24 16:53:15

标签: javascript jquery html

在我的项目中,我有必须检查输入值然后显示/隐藏元素的情况。这是我的HTML代码:

<td>
  <label class="test1">
    <input type="radio" name="reservation" class="bls" id="bls_1" value="10"/>
  </label>
  <label class="test2" style="display:none">
    <span>John, Cook</span>
  </label>
</td>

<td>
  <label class="test1">
    <input type="radio" name="reservation" class="bls" id="bls_2" value="0"/>
  </label>
  <label class="test2" style="display:none">
    <span></span>
  </label>
</td>

这是我的JQuery:

$('.bls').each(function() {
    if($(this).val() > 0){
        $(this).parent('.test1').hide();
        $('.test2').show();
    }
});

我当前的代码隐藏了基于值的单选按钮,但我遇到show()效果问题。我只想在同一个td中显示元素。

我当前的代码显示所有带有类名test2的标签。我想只显示我的值大于0的td标签。如何在JQuery中完成?

3 个答案:

答案 0 :(得分:2)

尝试从function __construct(){ $this->recipients = array(); } 对象链接next()show()

this

答案 1 :(得分:1)

您只需执行与hide()方法相同的操作并使用this

$(this).closest('td').find('.test2').show();

答案 2 :(得分:1)

您可以使用 closest 来获取父td,然后找到包含课程test2的标签并显示它:

$(this).closest('td').find('.test2').show();

完整代码:

$('.bls').each(function() {
    if($(this).val() > 0){
       $(this).parent('.test1').hide();
       $(this).closest('td').find('.test2').show();
    }
});

希望这有帮助。