Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular expression in text input "value"

Tags:

angularjs

I have a form that user will have to fill in. Some fields are dates and i don't want user to have to type in today's date.

My Form

<div class="row" ng-controller="JobOrderController as jOrder"> 
    <form class="form-inline" ng-submit>
        <div class="form-group">
            <label for="todaysDate"><h4><span class='glyphicon glyphicon-flag'></span> Date</h4>Date </label>
            <input type="text" class="form-control" id="todaysDate" ng-model="jOrder.orderData.date" value="{{ 2 + 4 }}" >
        </div>
    ......... more code .........

My Controller

angular.module('jobOrderCtrl', ['jobOrderService'])

.controller('JobOrderController', function(Jobs, socketio) {

    var vm = this;
    vm.createOrders = function() {
        vm.message = '';
        Jobs.createOrders(vm.orderData)
            .success(function(data) {
                vm.orderData = '';
                vm.message = data.message;
            });
    };
});

I try out using js to write to that date input field, but is not showing due to angular data binding.

So what i want is the date input value field to be today's date. So how do i go about and do this?

like image 263
Photonic Avatar asked Jun 29 '26 08:06

Photonic


1 Answers

Where do you set the date?

orderData should be an object with the form fields - NOT a string

initialize the orderData:

var vm = this;
vm.orderData = { date : new Date()};

and remove the value property form the html input field. Also set type to date

<input type="date" class="form-control" id="todaysDate" ng-model="jOrder.orderData.date" >
like image 97
Michael Avatar answered Jul 01 '26 19:07

Michael



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!