javascript
  • jquery
  • json
  • 2013-01-24 44 views 0 likes 
    0

    如何從輸入值中刪除特定的json對象?jQuery 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; 
        }); 
    

    你可以檢查基於Imrul的答案代碼http://jsfiddle.net/Pwa92/

    +0

    您沒有更新該值。 –

    +0

    @Felix如何更新值? – tonoslfx

    +1

    '$('input [name = jsonKey]').val(JSON.stringify(json))' –

    回答

    1

    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控制檯打開的情況下使用它。

    相關問題