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 に答える