【问题标题】:I want to overRide json Object depending on dropDown selected value [closed]我想根据下拉选择的值覆盖 json 对象 [关闭]
【发布时间】:2015-10-11 22:42:08
【问题描述】:

这是我的html代码

<select style="width:100px;" data-nodrag ng-model="conditions" ng-change="changingCondition(this)">
    <option value="and">and</option>
    <option value="or">or</option>
</select>

这是我尝试过的ng-change 代码,但它不起作用,如果我有多个“和”,它会将它们全部更改为“或”,这不应该发生

$scope.changingCondition = function (scope) {
    var cond = $scope.conditions
    //var jsonstr = JSON.stringify($scope.data);
    //var new_jsonstr = jsonstr.replace("and", "or");

    var obj = JSON.parse($scope.data)[0];
    obj.cond = obj.and;
    delete obj.cond;
}

这是我的 jsonObject

    [{
        "and": [{
            "fieldName": "",
                "value": "",
                "condition": ""
        }]
    }];

如果选择“或”,则 jSonObject 应该从“和”覆盖到“或”,如果我再次将其更改为“和”,它应该是“和”

【问题讨论】:

  • 不清楚您要做什么。选择“或”时是否要将and 属性更改为or,反之亦然?
  • @Michelem 是的,我想改变或者如果选择的值是 or

标签: asp.net .net arrays json angularjs


【解决方案1】:

仍然不能完全理解你想要什么,但试试这个:

JSFiddle

HTML:

<div ng-app="myApp" ng-controller="myCtrl">
    <select style="width:100px;" data-nodrag ng-model="conditions" ng-change="changingCondition()">
        <option value="and">and</option>
        <option value="or">or</option>
    </select>
    {{data}}
</div>

JS:

angular.module('myApp', [])
    .controller('myCtrl', function ($scope) {
    $scope.changingCondition = function () {
        $scope.data = [{
            "and": [{
                "fieldName": "",
                    "value": "",
                    "condition": ""
            }]
        }];

        if ($scope.conditions === 'or') {
            $scope.data[0].or = $scope.data[0].and;
            delete $scope.data[0].and;
        }
    }
});

【讨论】:

【解决方案2】:

您的问题并不完全清楚您想要实现什么,但值得注意的问题是您的代码设置了文字属性"cond" 而不是$scope.conditions 的值。您需要使用obj[cond] 访问该属性。这是一个例子Plunkr

【讨论】:

    猜你喜欢
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 2019-01-04
    相关资源
    最近更新 更多