简体   繁体   English

使用 jquery 隐藏跨度

[英]Hide span with jquery

^ no, it does not answer the question at all ^ 不,它根本没有回答问题

I have got 4 input fields and 4 span.我有 4 个输入字段和 4 个跨度。 Each span shows the value from corresponding input field.每个跨度显示来自相应输入字段的值。

What I want to achieve, is hiding empty span.我想要实现的是隐藏空跨度。 Removing string from inputbox makes the span empty, but it is not what I want.从输入框中删除字符串会使跨度为空,但这不是我想要的。 I want to not display it.我不想显示它。 At this moment when you leave field 3 empty, it will just leave a blank hole between field 2 and field 4. I simply want the field 4 to hop into the place of fields 3.这时候你把字段3留空,它只会在字段2和字段4之间留下一个空洞。我只是想让字段4跳到字段3的位置。

Any way to achieve this?有什么方法可以实现这一目标吗?

<tr>
 <td><h2>Field1</h2>
<input type="text" value="0" class="field1" type="number" min="0" max="20" maxlength="2" size="5"></td>
<td><h2>Field 2</h2>
<input type="text" value="101" class="field2" maxlength="4" size="5"></td>
    <td><h2>Field3 - hide span when im empty</h2>
<input type="text" value="0" class="field3" type="number" min="0" max="20" maxlength="2" size="5"></td>
<td><h2>Field 4</h2>
<input type="text" value="101" class="field4" maxlength="4" size="5"></td>
</td>
  </tr>
    <br><br>

    Field1: <span class="genaug"><span class="field1"></span>%</span><br />
        Field2: <span class="genpd"><span class="field2">0</span></span><br />
        <b><span class="genaug"><span class="field3"></span></span><br /></b>
Field4: <span class="genpd"><span class="field4">0</span></span>

$("input.field1").on("keyup",function () {
    $("span.field1").html($(this).val());
});
$("input.field2").on("keyup",function () {
    $("span.field2").html($(this).val());
});
$("input.field3").on("keyup",function () {
    $("span.field3").html($(this).val());
});
$("input.field4").on("keyup",function () {
    $("span.field4").html($(this).val());
});

if ("input.Field3".length) span.style.display = "none";

JSFiddle updated with craig1231 solution http://jsfiddle.net/jRwDg/7/ JSFiddle 更新了 craig1231 解决方案http://jsfiddle.net/jRwDg/7/

$("input.field1").on("keyup",function () {
    var vl = $(this).val();
    if (vl == "") {
        $("span.field1").hide();
    }
    else {
        $("span.field1").show().html(vl);
    }
});

Try like,尝试像,

if($("input.field3").val()=="") $("span.field3").css("display", "none");

If you don't want to consider the space then use like,如果你不想考虑空间,那么使用像,

$.trim($("input.field3").val())

You could check the length of the field on key up.您可以在键上检查字段的长度。

$("input.field3").on("keyup",function () {
    if ($(this).length==0)
        $("span.field3").hide()
    else
        $("span.field3").show().html($(this).val());
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM