Javascript 如何使用angularjs创建带有输入文本框的复选框?

Javascript 如何使用angularjs创建带有输入文本框的复选框?,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,在这里我添加了我的代码。我有两个移动品牌和型号与子型号 $scope.phones = [{ id: "986745", brandname: "Nokia", modelname: "Lumia", "Submodel": [{ "name": "Lumia 735 TS" }, { "name": "Lumia 510" }, { "name": "Lumia 830"

在这里我添加了我的代码。我有两个移动品牌和型号与子型号

$scope.phones = [{
    id: "986745",
    brandname: "Nokia",
    modelname: "Lumia",
    "Submodel": [{
          "name": "Lumia 735 TS"
        }, {
          "name": "Lumia 510"
        }, {
          "name": "Lumia 830"
        }, {
          "name": "Lumia New"
        }]
  }, {
    id: "896785",
    brandname: "Nokia",
    modelname: "Asha",
    "Submodel": [{
          "name": "Asha 230"
        }, {
          "name": "Asha Asn01"
        }, {
          "name": "Nokia Asha Dual sim"
        }, {
          "name": "Asha 540"
        }]
  },  {
    id: "144745",
    brandname: "Samsung",
    modelname: "Galaxy ",
    "Submodel": [{
          "name": "Trend 840"
        }, {
          "name": "A5"
        }, {
          "name": "Note 4 Duos"
        }, {
          "name": "Galaxy Note Duos"
        },
        {
          "name": "Galaxy A5"
        }]
  }, {
    id: "986980",
    brandname: "Samsung",
    modelname: "Asha",
    "Submodel": [{
          "name": "Asha 230"
        }, {
          "name": "Asha Asn01"
        }, {
          "name": "Asha Dual sim"
        }, {
          "name": "Asha 540"
        }]
  },  
  ];
当我单击诺基亚复选框时。Lumia和Asha支票箱即将上市。同样的事情也适用于三星

我的期望: 当我单击诺基亚时,它会显示

1.Lumia(复选框)

2.Asha(复选框)

这里举个例子,当我点击Lumia时,它会显示一个带有输入文本框的复选框列表(输入手机型号价格的文本框) 1.Lumia 735 TS(带有用户输入文本框的复选框) 2.Lumia 510(带有用户输入文本框的复选框) 3.Lumia 830(带有用户输入文本框的复选框) 4.Lumia New(带有用户输入文本框的复选框)

在诺基亚中选择Asha或选择三星Galaxy和Asha时,情况也是如此。 当我提交控制器时,我应该被选中 1.品牌名称 2.modelname 3.子模型 4.用户在该文本框中输入的值 我已经得到了品牌名,模特名

var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.selectedBrands=[];
$scope.selectBrand=功能(selectedPhone){
//如果我们取消选择该品牌
if($scope.selectedBrands.indexOf(selectedPhone.brandname)=-1){
//取消选择该品牌的所有手机
angular.forEach($scope.phones,函数(phone){
如果(phone.brandname==selectedPhone.brandname){
phone.selected=false;
}
});
}
}
$scope.checkSelectedPhones=函数(){
var modelNames=[];
var aletrMsg='';
angular.forEach($scope.phones,函数(phone){
如果(电话选择){
modelNames.push(电话);
aletrMsg+=“品牌:”+phone.brandname+“电话名:”+phone.modelname+”:价格:“+phone.Price+”,”;
}
});
警报(modelNames.length?aletrmg:'未选择电话!');
}
$scope.phones=[{
id:“986745”,
品牌名称:“诺基亚”,
型号名称:“Lumia”,
“子模型”:[{
“名称”:“Lumia 735 TS”
}, {
“名称”:“Lumia 510”
}, {
“名称”:“Lumia 830”
}, {
“名称”:“Lumia New”
}]
}, {
id:“896785”,
品牌名称:“诺基亚”,
型号名称:“Asha”,
“子模型”:[{
“名称”:“Asha 230”
}, {
“名称”:“Asha Asn01”
}, {
“名称”:“诺基亚Asha双卡”
}, {
“名称”:“Asha 540”
}]
},  {
id:“144745”,
品牌名称:“三星”,
型号名称:“银河”,
“子模型”:[{
“名称”:“趋势840”
}, {
“名称”:“A5”
}, {
“名称”:“注4二重唱”
}, {
“姓名”:“银河音符双人舞”
},
{
“名称”:“银河A5”
}]
}, {
id:“986980”,
品牌名称:“三星”,
型号名称:“Asha”,
“子模型”:[{
“名称”:“Asha 230”
}, {
“名称”:“Asha Asn01”
}, {
“姓名”:“阿莎双卡”
}, {
“名称”:“Asha 540”
}]
},  
];
});
myApp.filter('unique',function(){
返回函数(集合、键名){
var输出=[],
键=[];
angular.forEach(集合、功能(项){
var key=项目[keyname];
if(键索引of(键)=-1){
按键。按(键);
输出推送(项目);
}
});
返回输出;
};
});

检查选定的电话
{{phone.brandname}}

{{brand}} {{phone.modelname}
如果是,您可以尝试这样做

var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.selectedBrands=[];
$scope.selectBrand=功能(selectedPhone){
//如果我们取消选择该品牌
if($scope.selectedBrands.indexOf(selectedPhone.brandname)=-1){
//取消选择该品牌的所有手机
angular.forEach($scope.phones,函数(phone){
如果(phone.brandname==selectedPhone.brandname){
phone.selected=false;
}
});
}
}
$scope.checkSelectedPhones=函数(){
var modelNames=[];
var aletrMsg='';
angular.forEach($scope.phones,函数(phone){
如果(电话选择){
modelNames.push(电话);
aletrMsg+=“品牌:”+phone.brandname+“电话名:”+phone.modelname+”:价格:“+phone.Price+”,”;
}
});
警报(modelNames.length?aletrmg:'未选择电话!');
}
$scope.phones=[{
id:“986745”,
品牌名称:“诺基亚”,
型号名称:“Lumia”,
“子模型”:[{
“名称”:“Lumia 735 TS”,
所选:false
}, {
“名称”:“Lumia 510”,
所选:false
}, {
“名称”:“Lumia 830”,
所选:false
}, {
“名称”:“Lumia New”,
所选:false
}]
}, {
id:“896785”,
品牌名称:“诺基亚”,
型号名称:“Asha”,
“子模型”:[{
“姓名”:“Asha 230”,
所选:false
}, {
“名称”:“Asha Asn01”,
所选:false
}, {
“名称”:“诺基亚Asha双卡”,
所选:false
}, {
“名称”:“Asha 540”,
所选:false
}]
},  {
id:“144745”,
品牌名称:“三星”,
型号名称:“银河”,
“子模型”:[{
“名称”:“趋势840”,
所选:false
}, {
“名称”:“A5”,
所选:false
}, {
“名称”:“注4 Duos”,
所选:false
}, {
“姓名”:“银河音符双人舞”,
所选:false
},
{
“名称”:“银河A5”,
所选:false
}]
}, {
id:“986980”,
品牌名称:“三星”,
型号名称:“Asha”,
“子模型”:[{
“姓名”:“Asha 230”,
所选:false
}, {
“名称”:“Asha Asn01”,
所选:false
}, {
“姓名”:“阿莎双卡”,
所选:false
}, {
“名称”:“Asha 540”,