【问题标题】:Set two values for span jquery为 span jquery 设置两个值
【发布时间】:2015-04-29 20:11:46
【问题描述】:

我想将两个值或数据放入我的跨度中。我正在像这样将值放入 span:

$('#spanid').text(data[i].phonenumber);

上面的代码将把电话号码放到 span 中,现在我想让它的方式是,如果数据有另一个号码,比如手机号码,我会将它添加到文本中(如果有)。我是这样说的:

$('#spanid').text(data[i].phonenumber|| data[i].mobilenumber);

但即使有手机号码的值,也只会设置第一个值。

任何想法都值得赞赏

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

你想要这样的东西

$('#spanid').text((data[i].phonenumber ? data[i].phonenumber +" , " :"") + " " +(data[i].mobilenumber? data[i].mobilenumber :"" ))

你也可以简写第二个条件

$('#spanid').text((data[i].phonenumber ? data[i].phonenumber +" , " : "") + " " +(data[i].mobilenumber || "" ))

【讨论】:

  • 我不确定,但我想要的是,如果只有 1 个号码可用,则该号码将出现,如果两者都可用,则两者都会出现。
  • 我想这就是我的意思.. 如果设置了两个值,有没有办法让它添加,?或者我需要为类似和if statement添加条件?跨度>
  • 不,您不需要添加条件。只需将'||' 更新为逗号,。查看更新后的帖子
【解决方案2】:

|| 两个对象的条件将只返回第一个对象,如果它具有价值。如果您希望将其用作分隔符,则需要将其连接到两个数据中,然后将其设置为 span:

$('#spanid').text(data[i].phonenumber +"||"+ data[i].mobilenumber);

【讨论】:

  • 不会追加||在文本中也
【解决方案3】:

进一步的答案可能有效,但是像这样连接字符串非常慢,最好不要这样做。

像这样连接字符串最快:

[string1, string2].join('')

【讨论】:

  • “很慢”?创建数组和调用函数更快?
  • 支持very slow 声明的性能测试在哪里?
【解决方案4】:

你不需要像 || 这样的操作符添加文本。只需添加-

$('#spanid').text(data[i].phonenumber +""+ data[i].mobilenumber);

因此,如果存在任何一个,它将以文本形式提供。或者如果两者都存在,它将采用附加形式

小提琴:http://jsfiddle.net/1oo4noed/

【讨论】:

    【解决方案5】:

    使用您的代码,只有在没有电话号码时才会显示手机号码。试试看

    $('#spanid').text((data[i].phonenumber || '') + (data[i].phonenumber && data[i].mobilenumber ? ", " : "") + (data[i].mobilenumber || ''));
    

    【讨论】:

    • 是的,我想要发生的是,当两者都可用时,它们都会显示它们中的任何一个是否可用,即显示的那个。
    • 我将示例更改为电话号码具有相同的行为。该示例现在应该可以按照您的意愿工作了。
    • 根据 Sachin 的回答,您想要一个逗号分隔符。不幸的是,即使没有手机号码可以跟踪,他的回答也会输出“[电话号码]”。再次更新我的解决方案以添加逗号分隔符。
    【解决方案6】:

    您可以通过在text(); 函数中添加+ 运算符来连接字符串:

    $('#spanid').text(data[i].phonenumber + data[i].mobilenumber);
    

    为了将这两个值都放在text() 函数中,并检查它们是否存在,我会这样做:

    $('#spanid').text((data[i].phonenumber == "" ? "" : data[i].phonenumber) + (data[i].mobilenumber == "" ? "" : data[i].mobilenumber));
    

    【讨论】:

    • || 是一个运算符,不打算成为字符串的一部分
    • @charlietfl 我用它来分隔字符串,以提高可读性。顺便说一句,为什么帖子被否决了?
    • 啊...沉默的投票者...对我来说,主要的 SO 缺陷。一个大的。
    • @JeremyThille 你是什么意思?
    • @charlietfl 顺便把它删除了,不在问题中。
    【解决方案7】:

    在你的data object

    var data={
        phonenumber:222222222,
        mobilenumber:''
    };  
    

    如果phonenumbermobilenumber 丢失,则应使用empty stringnullundefined 来识别值是否存在。
    假设如果 phonenumbermobilenumber 丢失,它将有 empty string

    var data={
        phonenumber:222222222,
        mobilenumber:''
    };
    var text = '';
    if(data.phonenumber !='' && data.mobilenumber !='' ){
        text = data.phonenumber +','+ data.mobilenumber;
    }
    else if(data.phonenumber == ''){
        text = data.mobilenumber;
    }
    else{
        text = data.phonenumber;
    }
    $('#spanid').text(text);  
    

    Demo

    【讨论】:

      猜你喜欢
      • 2016-04-24
      • 2013-06-23
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-07
      相关资源
      最近更新 更多