javascript - 怎么在原来JSON字符串中又加入的部分获取并显示在固定的单元格中
巴扎黑
巴扎黑 2017-04-10 16:35:38
[JavaScript讨论组]

之前的接口里的数据是这样的:

{
"jiajianFunctionPrivilegeId": "123",
"functionName":"功能名称",
"functionCode":"功能代码",
}

这一段我用bootstraptable取出来了,但是现在又在原来的基础上增加了一个功能,字符串变成这样了,增加了operations数组,还是多个:

{
"jiajianFunctionPrivilegeId": "123",
"functionName":"功能名称",
"functionCode":"功能代码",
"operations":[{
"operationCode": ".tiaozhuan",
"operationName": "跳转1",
"operationValue": "http://www.haohaohao"
},{
"operationCode": ".tiaozhuan",
"operationName": "跳转2",
"operationValue": "http://www.baidu"
}]
}

这种情况我该怎么取,用bootstraptable的常用的取值方法却不行了,有经验的告我说是拼字符串,可是我想了想,用这样的方法是没有的,出不来,下面是我的方法,请大侠们指点,我错在哪里了,谢谢:

 //addName  是存放operationName值的单元格
var addName = $('#addName'); 
var nameShow = [];
$('.operation').each(function(i, row){
    var operationName = $(this).find('.operationName').val();
}
nameShow.push(operationName);

function addName(value, row, index){
    return nameShow;
}
巴扎黑
巴扎黑

全部回复(4)
黄舟

我师傅给的答案:
addOperationName 这个值是bootstraptable里的formatter的值,用来填充在表格固定位置的ID

function addOperationName(value, row, index){
            var result = "";
            if(row.operations && row.operations.length){
                for(var i=0;i<row.operations.length;i++){
                    result = result + row.operations[i].operationName;
                    if(i != row.operations.length -1){
                        result += "/";
                    }
                }
            }
            return result;
        }
天蓬老师

不是100%明白你的问题,不过有几点建议希望能帮上。

  1. 首先要确定接收到的值是JSON数组。可以用JSON.parse()将json字串编程json数组。

  2. 循环数组。
    源生JavaScript方式

for (var prop in jsonObject) {
    // 可以用if( prop == '目标Key') 然后push到自己的数组里面 
    console.log("Key:" + prop +" | Value:" + jsonObject[prop]);
}

jQuery方式

$.each(obj, function(key, value) {
    // 可以用if( key == '目标Key') 然后push到自己的数组里面 
    console.log("Key:" + key +" | Value:" + value);
});
  1. 添加到DOM中。可以用jQuery.append()之类的方法添加。

怪我咯
var addName = $('#addName'); 
var nameShow = [];
$('.operation').each(function(i, row){
    var operationName = $(this).find('.operationName').val();
    nameShow.push(operationName);  //...
}

function addName1(value, row, index){ //addName在第1行已经被定义了
    return nameShow;
}
巴扎黑

没怎么看明白,你说的意思,还有你上面的代码push()方法要写在each方法的回调函数里;obj. operations. operationCode

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号