0

Can someone help me how to update the Ng-Pattern using Jquery

I have gone through below question but didn't help me(Most of the Question are related to updating to dynamic values using Angular JS)

  1. Question 1
  2. Question 2
  3. Question 3

HTML

<div class="col-md-1" style="width: 50px;" id="hourmain">
    <span ng-show="addItem.Hour.$error.pattern">The number must be between 0-4</span>
    <input class="form-control" type="text" name="Hour" ng-model="form.Hour" placeholder="Hour" required="required" ng-pattern="/^[0-4]+(\.[5]{1})?$/" step="0.5" min="0" max="3" maxlength="3" id="hour">
</div>

Now using Jquery How Can I update the ng-pattern value to ng-pattern="/^[0-9]+(\.[5]{1})?$/"

1 Answer 1

1

In jQuery, you can grab the specific element using:

var input = $('input[name="Hour"]');

and then set the value of the ng-pattern attribute, using:

input.attr('ng-pattern', '/^[0-9]+(\.[5]{1})?$/');

Working Example:

$(document).ready(function(){

var input = $('input[name="Hour"]');
input.attr('ng-pattern', '/^[0-9]+(\.[5]{1})?$/');

console.log('input ng-pattern is now: ' + input.attr('ng-pattern'));

});
<div class="col-md-1" style="width: 50px;" id="hourmain">
<span ng-show="addItem.Hour.$error.pattern">The number must be between 0-4</span>
<input class="form-control" type="text" name="Hour" ng-model="form.Hour" placeholder="Hour" required="required" ng-pattern="/^[0-4]+(\.[5]{1})?$/" step="0.5" min="0" max="3" maxlength="3" id="hour" />
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


Alternatively, in vanilla javascript, you can grab the specific element using:

var input = document.querySelector('input[name="Hour"]');

and then set the value of the ng-pattern attribute, using:

input.setAttribute('ng-pattern', '/^[0-9]+(\.[5]{1})?$/');

Working Example:

var input = document.querySelector('input[name="Hour"]');
input.setAttribute('ng-pattern', '/^[0-9]+(\.[5]{1})?$/');

console.log('input ng-pattern is now: ' + input.getAttribute('ng-pattern'));
<div class="col-md-1" style="width: 50px;" id="hourmain">
<span ng-show="addItem.Hour.$error.pattern">The number must be between 0-4</span>
<input class="form-control" type="text" name="Hour" ng-model="form.Hour" placeholder="Hour" required="required" ng-pattern="/^[0-4]+(\.[5]{1})?$/" step="0.5" min="0" max="3" maxlength="3" id="hour" />
</div>

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.