If / Else jQuery 跳过未定义的值
If / Else jQuery to skip undefined value
我有这个链接的选择框(演示),使用 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":"|"});
});
});
我无法使用if
语句跳过未定义的值。JSON 文件如下所示:
[{"Box1":"A","Box1ID":"B","Box3":"C"},{"Box1":"E","Box1ID":"F","Box2":"G","Box3":"H"}]
如果Box2
不存在,我希望var $option
是:
var $option = $("<option/>").attr("value", o.Box1ID + ":" + o.Box3).text(o.Box1 + "|" + o.Box3);
typeof undefined
在这里工作吗? 但我不确定应该定义什么变量。
if (typeof var?? === 'undefined') {
var $option = $("<option/>").attr("value", o.Box1ID + ":" + o.Box3).text(o.Box1 + "|" + o.Box3); }
else {
$("<option/>").attr("value", o.Box1ID + ":" + o.Box3).text(o.Box1 + "|" + o.Box2 + "|" + o.Box3);
}
任何帮助将不胜感激。谢谢。
您也可以这样做:
if (! data.Box2) {
...
}
未定义、null 和空字符串在 JavaScript 中都测试为 false。
你可以做这样的事情:
... .text(o.Box1 + "|" + (o.Box2?oBox2+"|":"") + (o.Box3||"") );
使用
$(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);
if (typeof data.Box2 === 'undefined')
{
$option.text(o.Box1 + "|" + o.Box3);
}
else {
$option.text(o.Box1 + "|" + o.Box2 + "|" + o.Box3);
}
$select.append($option);
});
$("#mySelectID").dynamicDropdown({"delimiter":"|"});
});
});
如果检查不存在的对象方法/属性的类型,它将返回"undefined"。
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 正在创建嵌套的if+else-if语句,但函数返回为未定义
- Javascript 函数.可变结果.为什么未定义或没有 如果 else 语句函数
- 如果else变量的作用域在js中的else中显示为未定义
- 如何返回从其未定义的else“的函数返回的值;什么都不做”;在JS中
- if else子句中未定义对象的未定义属性
- Isset / empty PHP session (if else语句)给出未定义的索引
- If / Else jQuery 跳过未定义的值