我想将两个值或数据放入我的范围内。我正在将价值放在这样的范围内:
$('#spanid').text(data[i].phonenumber);
上面的代码将把电话号码放到跨度中我现在想要的方式是,如果数据有另一个数字,如手机号码,我会将其添加到文本中(如果可用)。我这样说:
$('#spanid').text(data[i].phonenumber|| data[i].mobilenumber);
但即使手机号码有值,也只会设置第一个值。
赞赏任何想法
答案 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:''
};
如果缺少phonenumber
或mobilenumber
,则应empty string
,null
或undefined
标识值是否存在。
假设缺少phonenumber
或mobilenumber
,则会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 强>