Я работаю с двумя раскрывающимися списками, и в то же время нам нужно два календаря. может кто-нибудь сказать мне, почему мой каландр не показывает? когда я использую раскрывающийся список, мой календарь перестает работать. Мне нужно что-то вроде этого: - (1) 2 дня и 5 часов (2) 5 дней и 4 часа (3) 8 дней и 13 часов здесь - мой код:
<!DOCTYPE html>
<html>
<head>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="style.css" />
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="http://tarruda.github.com/bootstrap-datetimepicker/assets/css/bootstrap-datetimepicker.min.css">
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script type="text/javascript" src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/js/bootstrap.min.js">
</script>
<script type="text/javascript" src="http://tarruda.github.com/bootstrap-datetimepicker/assets/js/bootstrap-datetimepicker.min.js">
</script>
<script data-require="angular.js@*" data-semver="1.4.0-beta.3" src="https://code.angularjs.org/1.4.0-beta.3/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
<script data-require="[email protected]" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js" data-semver="1.0.8"></script>
<script src="app.js"></script>
</head>
<body><div ng-app="app" ng-controller="ctrl" ng-init="firstTime=endTime=a=selected_id1=selected_id2=input.param1=input.param2=''">
<div ng-repeat='select in selects' ng-init="firstTime=endTime=a=selected_id1=selected_id2=select.param1=select.param2=''"> Start Date
<div id="date" class="input-append" datetimez ng-model="input.var1" >
<input data-format="MM-dd-yyyy" type="text" id="input1" name="input1" ></input>
<span class="add-on">
<i data-time-icon="icon-time" data-date-icon="icon-calendar"></i>
</span>
</div>
<div id="date" class="input-append" datetimez ng-model="input.var2">
<input data-format="MM-dd-yyyy" type="text" id="input1" name="input1" ></input>
<span class="add-on">
<i data-time-icon="icon-time" data-date-icon="icon-calendar"></i>
</span>
</div>
<select
ng-model="select.selected_id1"
ng-options="o.id as o.name for o in options"
ng-change="selected_name1=(options|filter:{id:selected_id1})[0].name">
</select>
<select
ng-model="select.selected_id2"
ng-options="o.id as o.name for o in options"
ng-change="selected_name2=(options|filter:{id:selected_id2})[0].name">
</select>
<button type='button' ng-click='remove(select)'>Remove</button>
</div>
<div>
<button type='button' ng-click='add()'>Add</button>
<p>Time Difference:{{test()}}</p>
</div>
<script>
angular.module("app",[])
.controller("ctrl",['$scope',function($scope){
$scope.options = [
{id:9, name:'09:00 AM'},
{id:10, name:'10:00 AM'},
{id:11, name:'11:00 AM'},
{id:12, name:'12:00 PM'},
{id:13, name:'13:00 AM'},
{id:14, name:'14:00 AM'},
{id:15, name:'15:00 AM'},
{id:16, name:'16:00 AM'},
{id:17, name:'17:00 PM'},
{id:18, name:'18:00 AM'}]
$scope.test = function()
{
var result=0,id2,a,b;
angular.forEach($scope.selects, function(value) { // loop over array to process all items
a = value.selected_id1;
b = value.selected_id2;
//alert(a);
//alert(b);
if((a!="") && (b!=""))
{
result +=(parseInt(b)-parseInt(a));
//alert("result is:" + result);
}
});
return result;
}
$scope.selects = [{}]; // default 1 sets
$scope.add = function() {
$scope.selects.push({});
}
$scope.remove = function(item) {
angular.forEach($scope.selects, function(value, key) {
if (value == item) {
$scope.selects.splice(key, 1);
}
});
}
}]);
app.directive('datetimez', function() {
return {
restrict: 'A',
require : 'ngModel',
link: function(scope, element, attrs, ngModelCtrl) {
element.datetimepicker({
dateFormat:'dd-MM-yyyy',
language: 'en',
pickTime: false,
startDate: '01-11-2013', // set a minimum date
endDate: '01-11-2030' // set a maximum date
}).on('changeDate', function(e) {
ngModelCtrl.$setViewValue(e.date);
scope.$apply();
});
}
};
});
</script>
</body>
</html>
Ваше выражение внутри ng-init
недействительно. Попробуйте что-то вроде этого ng-init="a=b;c=d"
т.д. - - Отдельные команды ;
Другой вопрос, откуда берутся эти значения внутри ng-init? Вам действительно нужен ng-init?
ОБНОВИТЬ
если значения a, b, c... считаются нулевыми, тогда нет необходимости их инициализировать
ng-init="firstTime=endTime=a=selected_id1=selected_id2=input.param1=input.param2=''"
Будьте осторожны с ng-init, прочитайте об этом здесь docs.angularjs. орг / API / нг / директивы / ngInit