jQuery json从输入值中删除元素

时间:2013-01-24 12:09:59

标签: javascript jquery json

如何从输入值中删除特定的json对象?

我试过这个jquery javascript remove object data from JSON object并使用了拼接。

它没有从输入值中删除对象。

HTML:

<input type="text" name="jsonKey" value='{"keyId":"1","price":"13.28"},{"keyId":"2","price":"15.00"}' style="width:100%">
 <a href="#" class="delete">Delete</a>

JS:

$('.delete').click(function(){
    var json = $.parseJSON('[' + $('input[name=jsonKey]').val() + ']');

    $.each(json, function(index, result) {
       if(result['keyId'] == 1) {
           //delete json[index];
           //json.splice(index,1);
      }
   });

   return false;
  });

您可以查看代码http://jsfiddle.net/Pwa92/

1 个答案:

答案 0 :(得分:1)

根据Imrul对this question的回答,您可以使用$.grep

$('.delete').click(function(){
    var json = $.parseJSON('[' + $('input[name=jsonKey]').val() + ']');

    console.log(json);

    json = jQuery.grep(
        json, 
        function (item,index) { 
            return item.keyId !=  "1"; 
        }
    );

    console.log(json);

   return false;
});

我更新了您的fiddle,在浏览器的js控制台打开时使用它。