我有一个角度应用程序,在控制器初始化我有一个jquery事件,打开一个灯箱(Custombox),我需要我关闭此框运行其他角度控制器,从PHP会话更新购物车项目代码是
aplicacion.controller("fichaTec",["$scope","$http","$stateParams","$sce","locaciones","carrito", function($scope,$http,$stateParams,$sce,locaciones, carrito){
//$scope = $scope.$new(true);
$scope.destino = $stateParams.path;
$scope.path=$stateParams.nad;
jqueryUtilities();
$scope.init=function(destino,nado){
jq(document).on("click","#openReserva", function(e) {
e.preventDefault();
e.stopImmediatePropagation();
var $value=jq(e.target).attr("data-value").split(",.-");
var $valueDes = $value[1];
$value=$value[0];
Custombox.open({
target: 'pages/reservaTour.php',
effect: 'blur',
cache:false,
overlayOpacity:0.7,
position:["center","center"],
loading:{
delay:6000,
parent:['sk-chasing-dots'],
childrens:[
['sk-dot1','sk-child'],
['sk-dot2','sk-child'],
]
},
complete:function(e){
jqueryUtilities();
var hoy = new Date();
jq('#dateReserva').datetimepicker({
format:"DD-MM-YYYY",
locale:'es',
minDate:hoy.setDate(hoy.getDate()+2),
//daysOfWeekDisabled:dias
});
jq("#locacionesReserva").selectpicker("val",$valueDes)
jq(document).on("change","#locacionesReserva",function(e,value){
e.preventDefault();
e.stopImmediatePropagation();
jq("#errLocacionesCR").fadeOut();
var valDes= jq(this).prop("value");
jq.ajax({
url:"_assets/_controllers/getNadosSelect.php",
type:"POST",
dataType:"JSON",
data:{ destino: valDes }
}).done(function(data){
jq("#programa").find("option").remove();
var element=data;
jq("#programa").append(jq("<option></option>").attr("value","0").text("Seleccione"));
for(var i=0; i<element.length; i++)
{
jq("#programa").append(jq("<option></option>").attr("value",element[i].clave).text(element[i].nombre));
}
jq("#programa").selectpicker('refresh');
jq("#programa").selectpicker('val',value);
});
getDiasInhabiles();
});
jq(document).on("change","#programa",function(e){
e.preventDefault();
e.stopImmediatePropagation();
jq("#errProgramaCR").fadeOut();
var destino = jq("#locacionesReserva").prop("value");
var nado=jq("#programa").prop("value");
//alert("des "+destino+" nado "+nado);
jq.ajax({
url:"_assets/_controllers/getNadosHorasSelect.php",
type:"POST",
dataType:"JSON",
data:{ destino: destino, nado:nado }
}).done(function(data){
jq("#hora").find("option").remove();
var element=data;
jq("#hora").append(jq("<option></option>").attr("value","0").text("Seleccione"));
for(var i=0; i<element.length; i++)
{
jq("#hora").append(jq("<option></option>").attr("value",element[i].hora).text(element[i].hora));
}
jq("#hora").selectpicker('refresh');
});
getDiasInhabiles();
});
jq(document).on("change","#hora",function(e){
e.preventDefault();
e.stopImmediatePropagation();
jq("#errHoraCR").fadeOut();
getDiasInhabiles();
});
jq(document).on("dp.change","#dateReserva",function(e){
e.preventDefault();
e.stopImmediatePropagation();
//alert(jq("#fechaServ").prop("value"));
if(jq("#fechaServ").prop("value")!=""){
jq("#errFechaCR").fadeOut();
}
});
jq(document).on("change","#adultosRev",function(e){
e.preventDefault();
e.stopImmediatePropagation();
if(jq(this).prop("value")!=0){
jq("#errAdultosCR").fadeOut();
}
});
jq(document).on("click","#botonAddReserva",function(e){
e.preventDefault();
e.stopImmediatePropagation();
var band = true;
var $nado = jq("#programa").prop("value");
var $destino = jq("#locacionesReserva").prop("value");
var $fechaServ = jq("#fechaServ").prop("value");
var $hora=jq("#hora").prop("value");
var $adultos=jq("#adultosRev").prop("value");
var $ninos=jq("#ninosRev").prop("value");
//alert($nado+" - "+$destino+" - - "+$fechaServ+" -- "+$hora+" - - - "+$adultos+"----"+$ninos);
if($nado==0){
jq("#errProgramaCR").fadeIn().addClass("bg-danger").text("Seleccione nado");
band=false;
}
if($destino==0){
jq("#errLocacionesCR").fadeIn().addClass("bg-danger").text("Seleccione destino");
band=false;
}
if($fechaServ==""){
jq("#errFechaCR").fadeIn().addClass("bg-danger").text("Ingrese fecha");
band=false;
}
if($hora==0){
jq("#errHoraCR").fadeIn().addClass("bg-danger").text("Seleccione hora");
band=false;
}
if($adultos==0){
jq("#errAdultosCR").fadeIn().addClass("bg-danger").text("Seleccione adultos");
band=false;
}
if(band){
jq.ajax({
url:"_assets/_controllers/addCarrito.php",
type:"POST",
data:{
nado:$nado,
destino:$destino,
fecha:$fechaServ,
hora:$hora,
adulto:$adultos,
ninos:$ninos,
}
}).done(function(data){
var dat=data.split(",");
if(dat[0]=="add"){
jq("#mensajeR").css("display","block").addClass("alert-success").text("Se ha agregado el nado");
setTimeout(function(){
//jq("#viewCarrito").trigger("click");
carrito.getTotalItems().then(function(total){
$scope.totalItems=total.total;
});
Custombox.close()
},2500);
}
});
}
});
jq("#locacionesReserva").trigger("change",[$value]);
setTimeout(function(){jq("#programa").trigger("change");},500);
//setTimeout(function(){jq("#")})
},
close:function(e){
e.preventDefault();
e.stopImmediatePropagation();
//i need run other controller or emulate ng-click here
}
});
});
},function(res){console.error("error ",status,data);});
}
$scope.init($scope.destino,$scope.path);
/*carrito.getTotalItems().then(function(total){
$scope.totalItems=total.total;
});*/
}]);
/ *这里是其他控制器* / aplicacion.controller(&#34; carritoMenu&#34; [&#34; $范围&#34;&#34; carrito&#34;,函数($范围,carrito){ // alert(&#34; la funcion es&#34; + carrito.getTotalItems()); $ scope.cambio =函数(){
carrito.getTotalItems().then(function(total){
$scope.totalItems=total.total;
})
}
}]);
/* factory that return php session value */
aplicacion.factory("carrito",function($q,$http){
var locaciones=null;
var items="";
function getDatos(){
var defer=$q.defer();
$http.get("_assets/_controllers/getLocacionesSelect.php",{cache: "true"}).success(function(res){
//locaciones= res;
//this.resolve();
//console.log(locaciones.length);
defer.resolve(res);
});
return defer.promise;
}
function getTotalItems(){
var defer=$q.defer();
$http.get("_assets/_controllers/getItems.php",{cache: "true"}).success(function(res){
//alert("dkdkkddkdkdk");
defer.resolve(res);
});
return defer.promise;
}
var interfaz={
getLocaciones:getDatos,
getTotalItems:getTotalItems,
//setItems:setItems
}
return interfaz;
});
}
抱歉我的英文不好,如果我发布错误代码(这是我的第一次,请帮帮我)谢谢