0

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

我试过这个jquery javascript 从 JSON 对象中删除对象数据并使用拼接。

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

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/

4

1 回答 1

1

根据 Imrul对此问题的回答,您可以使用$.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;
});

我更新了你的小提琴,在浏览器的 js 控制台打开的情况下使用它。

于 2013-01-24T12:40:54.450 回答