angularJS与play配合使用的各种控件的使用技巧

1、select控件

html及js操作

<select id="styleId" class="form-control textlist" style="width:140px" ng-model="gcstyles" ng-options="style.id as style.styleName for style in styles"></select>

<select ng-model="string" ng-init="string='2'">
	<option val="2">2</option>
	<option val="1">1</option>
</select>
ng-init初始化的意思

ng-model中string值是2,则默认绑定2.


绑定及赋值

var getStyleList=function(){  
        serve.get({  
            url:"/modulename/Styles/list",  
            success:function(data){  
                //绑定
                $scope.styles=data;
                $scope.styles.id=@scope.styles[0].id;  
        //赋值
        var cb=function(){  
            if($(this).val() == data.styleId){  
                $(this).attr('selected', 'selected');  
            }  
        }  
        if (typeof(cb) == "function") {  
            $timeout(function(){  
                $("#styleId option").each(cb);  
            });  
        }  
    });  
}  

track by style.id的作用:数组中是不允许存在两个相同的数字的。为了规避这个错误,需要定义自己的track by表达式。例如这个,如果重复,则报错,问题是我定义了反而总是有空值被选中,我不想让select有空值啊,郁闷中,未解,目前暂时去掉这个表达式。

获取select控件的值的时候,切记用这个取,不要用JQuery来获取,JQuery获取不到正确的value值。直接用它:$scope.styles.id,这里面存了整个选择的对象。

2、checkbox控件

<input type="checkbox" ng-model="obj.chk" ng-checked="obj.chk" ng-click="checkAll()"><span ng-bind="obj.chk.name"></span>

下面是绑定及其他操作

    var obj=function(){
    	serve.get({
        	url:"/module/Obj/list",
        	success:function(data){
        		$scope.obj=data;
        	}
        });
    }

//获取会员等级选中操作
    var getChecked = function() {
        for(var i=0; i<$scope.obj.chk.length; i++) {
    		for(var j=0; j<$scope.obj.length; j++) {
    			if($scope.obj[j].id == $scope.obj.chk[i].id) {
    				$scope.obj[j].checked = true;
    			}
    		}
    	}
    };

3、弹出小窗口

html主页面要添加一个层

<div ng-include="'/module/Template/referDialog'"></div>

子窗口这么写

<script type="text/ng-template" id="referDialog">.........<div>

主页面JS打开界面

打开窗口
$scope.select = function(){
<span style="white-space:pre">	</span>debugger;
	ngDialog.open({
		template: 'referDialog',
		scope:$scope,
		controller: 'ReferTemplate',
		width: 1000
	});
};
//接收数据
$scope.$on('param1', function(event, data) {
    $scope.result= data;
});

子页面JS

reliers.push("ngDialog");

//选择商品
corpApp.controller('ReferTemplate',['$scope','ngDialog','serve','$timeout', 
function($scope,ngDialog,serve,$timeout){
    $scope.$emit('param1', data);
    ngDialog.closeAll();
}

还需要注意一个打开html的命令:

public class Template{
        public static void referDialog(){
		render("module/template/referDialog.html");
	}
}


4、日期控件

5、打开的初始化界面

6、打开初始化完成后的赋值界面

7、get服务

8、post服务

9、传参过程





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值