Javascript If/Else jQuery跳过未定义的值

Javascript If/Else jQuery跳过未定义的值,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我使用JSON文件将这个链式选择框()链接起来,以填充基于的选项 以下是脚本: $(window).bind('load', function() { $.getJSON('suggest.json', function(data){ var $select = $('#mySelectID'); $.each(data, function (index, o) { var $option = $("<option/>"

我使用JSON文件将这个链式选择框()链接起来,以填充基于的选项

以下是脚本:

$(window).bind('load', function() {
   $.getJSON('suggest.json', function(data){
        var $select = $('#mySelectID');

        $.each(data, function (index, o) {
            var $option = $("<option/>").attr("value", o.Box1ID + ":" + o.Box3).text(o.Box1 + "|" + o.Box2 + "|" + o.Box3);
            $select.append($option);
        });

        $("#mySelectID").dynamicDropdown({"delimiter":"|"});
    });
});
如果
Box2
不存在,我希望
var$选项为:

var $option = $("<option/>").attr("value", o.Box1ID + ":" + o.Box3).text(o.Box1 + "|" + o.Box3);

任何帮助都将不胜感激。多谢各位

您可以执行以下操作:

   ... .text(o.Box1 + "|" + (o.Box2?oBox2+"|":"")  +  (o.Box3||"") );

您可以执行以下操作:

   ... .text(o.Box1 + "|" + (o.Box2?oBox2+"|":"")  +  (o.Box3||"") );
使用

$(window.bind('load',function()){
$.getJSON('suggest.json',函数(数据){
var$select=$(“#mySelectID”);
$。每个(数据,函数(索引,o){
var$option=$(“”).attr(“值”,o.Box1ID+”:“+o.Box3);
if(typeof data.Box2==‘未定义’)
{
$option.text(o.Box1+“|”+o.Box3);
}
否则{
$option.text(o.Box1+“|”+o.Box2+“|”+o.Box3);
}
$select.append($option);
});
$(“#mySelectID”).dynamicDropdown({“分隔符”:“|”});
});
});
如果检查不存在的对象方法/属性的类型,它将返回“undefined”

使用

$(window.bind('load',function()){
$.getJSON('suggest.json',函数(数据){
var$select=$(“#mySelectID”);
$。每个(数据,函数(索引,o){
var$option=$(“”).attr(“值”,o.Box1ID+”:“+o.Box3);
if(typeof data.Box2==‘未定义’)
{
$option.text(o.Box1+“|”+o.Box3);
}
否则{
$option.text(o.Box1+“|”+o.Box2+“|”+o.Box3);
}
$select.append($option);
});
$(“#mySelectID”).dynamicDropdown({“分隔符”:“|”});
});
});

如果检查不存在的对象方法/属性的类型,它将返回“undefined”

您也可以这样做:

if (! data.Box2) {
    ...
}

未定义、null和空字符串在JavaScript中都测试为false。

您也可以这样做:

if (! data.Box2) {
    ...
}
未定义、null和空字符串在JavaScript中都测试为false

if (! data.Box2) {
    ...
}