为span jquery设置两个值

时间:2015-04-29 11:48:02

标签: javascript jquery html

我想将两个值或数据放入我的范围内。我正在将价值放在这样的范围内:

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

上面的代码将把电话号码放到跨度中我现在想要的方式是,如果数据有另一个数字,如手机号码,我会将其添加到文本中(如果可用)。我这样说:

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

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

赞赏任何想法

6 个答案:

答案 0 :(得分: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 :(得分:0)

如果对象具有值,则对象的

||条件将仅返回第一个对象。如果您希望将它用作分隔符,则需要在两个数据中将其连接起来,然后将其设置为span:

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

答案 2 :(得分:0)

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

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

要将这两个值放在text()函数中,并检查它们是否存在,我会做这样的事情:

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

答案 3 :(得分:0)

使用您的代码,只有在没有电话号码的情况下才会显示手机号码。尝试使用

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

答案 4 :(得分:0)

进一步的答案是MAYBE正常工作,但是这样的字符串很慢,最好不要这样做。

像这样最快地传播字符串:

[string1, string2].join('')

答案 5 :(得分:0)

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