Utilice la demostración de select2 bajo angularjs

Código directamente:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script src="select2.js"></script>
<style type="text/css"> 
@import url("select2.css");
</style> 
</head>


<body ng-app="myApp"  ng-controller="myCtrl">

<select id="companyCode" class="form-control" style="width:200px">

<option value=""></option>
</select>

<script>

		var app = angular.module("myApp", []);
		app.controller("myCtrl", function($scope) {
		 

		$scope.names  = [{ id: 0, text: 'aaa' }, { id: "ZBXS", text: 'bbb' }, { id: 2, text: 'ccc' }];

		var list = [];
		$.each($scope.names, function (n, value) {
		 var obj = {id: value.id, text: value.text};
	   //     var obj = {id: value.clientCod, text: value.cClientNam};
			list.push(obj);
		});
		$("#companyCode").select2({
			data: list,
			placeholder: '请选择公司',
			allowClear:true
		});
		// 选择时触发事件并赋值
		$("#companyCode").on("select2:select", function (e) {
			var data = $(this).val();
			console.log(data);
			
		});		
		
		$("#companyCode").select2("val", ["ZBXS"]);//赋值
		
		console.log(str2value +";"+strtext);
		var res=$("#companyCode").select2("data")[0]; //取值
		console.log("res:"+res);
				
});


</script>
</body>
</html>

En el bucle de lista, seleccione la aplicación 2

html
<tr ng-repeat="cargo in vm.cargos" on-finish-render-filters>
<td>
 <select  class="form-control select2" id="{{$index}}" style="width:120px" >
               <option value=""></option>
</select>
</td>
</tr>

js
    $scope.$on('ngRepeatFinished', function(ngRepeatFinishedEvent) {
        CcargoService.findCcargoInOrg(function (data){
            var list =[];
            $.each(data, function (n, value) {
                var obj = {id: value.cargoCod, text: value.cCargoNam};
                list.push(obj);
            });
            for(var i=0;i<vm.cargos.length;i++){
                $("#"+i).select2({
                    data: list,
                    placeholder: '搜索名称',
                    allowClear:true
                });

                $("#"+i).select2("val", [vm.cargos[i].cargoCod]);//可用
            }
            $(".select2").on("select2:select",function(e){
                console.log( $(this).val());
                for(var i=0;i<vm.cargos.length;i++){
                    if($("#"+i+" option:checked").val()==$(this).val()){
                        vm.cargos[i].cargoNam = $("#"+i+" option:checked").text();
                        vm.cargos[i].cargoCod = $(this).val();
                        $scope.$apply();
                    }
                }
            })
        });

    });

Dirección de descarga del código fuente:
https://download.csdn.net/download/lz20120808/11116620
Nota:
Si hay un valor nulo en los datos de la lista desplegable consultados desde el fondo, cuando las consultas de control, el front-end select2.js atravesará cada coincidencia difusa del elemento secundario Informar un error

137 artículos originales publicados · Me gusta 123 · Visite 250,000+

Supongo que te gusta

Origin blog.csdn.net/lz20120808/article/details/89308643
Recomendado
Clasificación