使用Javascript从渲染视图中删除json中的特定对象值

时间:2015-03-14 02:09:56

标签: java javascript jquery html json

我有一个未编号的列表,其中每个列表项都被赋予一个数据id,我需要这个ID值来更新后面的视图,基本上我不能从json中删除值,有没有办法隐藏html中的值没有从json数据中删除它?和click.log点击?对象是: " level_0_id":1, " level_1_id":1, " level_2_id":1, " id":1

以下是小提琴的代码:https://jsfiddle.net/creativestudio/m4t8tszk/1/

这是Js:

function list(object) {
        var json="<ul class='dropdown'>";
        for(prop in object){
            var value = object[prop];
            switch (typeof(value)){
                case "object":
                        var token = Math.random().toString(36).substr(2,16);

                        json += "<li><div id='"+ token +"' class='collapse'>"+list(value)+"</div></li>";
                        break;
                        default:

                        json += "<li>"+value+"</li>";
                    }
                }
                return json+"</ul>";
            }

        $(document).ready(function() {

            console.log(data);
            $('#sidebar').html(list(data));
        });

2 个答案:

答案 0 :(得分:0)

尝试

$(document).ready(function() {
    var filter = ["12345", "2451", "3333"];
    var result = $(list(data)).map(function(i, el) {
        var res = $("li", el).filter(function(idx, elem) {
          return $.inArray(elem.textContent, filter) !== -1
        }).fadeTo(0,0, function() {

          var el = this;
          $(":contains(Americas)")
          .on("click", function() {
            console.log(el.textContent)
          })
        })

        return el
    })
    $("#output").html(result);   
});

jsfiddle https://jsfiddle.net/m4t8tszk/4/

答案 1 :(得分:0)

JSON是一种组织信息的特定方式。所以调用你的html字符串&#34; json&#34;并不准确。我将其更改为&#34; listView&#34;什么的。

您始终可以使用JQuery。只需将一个类(如hide)添加到您想要做的任何事情中。

$(".hide").click(function(event) { 
  var clickedThing = event.currentTarget // Also could use the keyword "this"
  var clickedThing.hide();
});

我建议有一个隐藏的和可见的类。如果单击一个,让JQuery将其切换到另一个。