我有两个选择框。第二个选择框从第一个选择框中填充。默认情况下从选择框中选择第一个值 - AngularJS
我已经为第二个选择框应用了一个过滤器,以根据在第一个选择框中选择的选项进行填充。第二个选择框从数组var outputformats = [];
这是我的代码
HTML填充
<select name="reporttype"id="reporttype"
ng-init="reporttype='1115'"
ng-model="reporttype">
<option value="1115">Previous Day Composite Report</option>
<option value="1114">ACH Receive</option>
</select>
<select name="outputformat" id="outputformat"
ng-model="outputformat"
ng-options="format for format in outputformats | outputformatfilter: reporttype:this">
</select> Value : {{outputformat}}
过滤
angular.module('myApp.outputformatfilter',[])
.filter('outputformatfilter', function() {
return function (input,selectedreport,scope) {
var outputFormatReport = {"1115":"HTML,PDF","1114":"CSV,EXCEL"};
var outputformats = outputFormatReport[selectedreport].split(',');
return outputformats;
};
});
现在我想的是,只要在第二个选择框的变化选项,它的第一个选项应该是默认选择,这是阵列的第一个选项, d被默认选中。
UPDATE:
更新小提琴,加入ng-if= reporttype !== ''
第二选择框中
嘿,我只是增加了一个'NG-IF = reporttype!==''',它不起作用。你能告诉我为什么它不工作,为了使它工作我应该怎么做 https://jsfiddle.net/Kunalh/bt99eg1o/7/ – Nishant123
因为在第一个下拉列表中你有一个'ng-init = “reporttype ='1115'',所以它不是'''' – devqon
是的,但我想检查第一个框中没有空值,如果是,则不显示第二个下拉菜单。为什么它影响你的解决方案?更新了问题btw – Nishant123