Events in EJ2 JavaScript Rating control

29 Aug 20234 minutes to read

This section describes the rating events that will be triggered when appropriate actions are performed. The following events are available in the rating control.

beforeItemRender

The rating control triggers the beforeItemRender event before rendering each rating item. The RatingItemEventArgs passed as an event argument provides the details of the item to be rendered.

// Initialize the Rating control.
var rating = new ej.inputs.Rating({
    beforeItemRender: (args)=> {
       //Your required action here
    }
});

// Render initialized Rating.
rating.appendTo('#rating');

created

The rating control triggers the created event when the rendering of the rating control is completed.

// Initialize the Rating control.
var rating = new ej.inputs.Rating({
    created: ()=> {
       //Your required action here
    }
});

// Render initialized Rating.
rating.appendTo('#rating');

onItemHover

The rating control triggers the onItemHover event when the rating item is hovered. The RatingHoverEventArgs passed as an event argument provides the details of the hovered item.

// Initialize the Rating control.
var rating = new ej.inputs.Rating({
    onItemHover: (args)=> {
       //Your required action here
    }
});

// Render initialized Rating.
rating.appendTo('#rating');

valueChanged

The rating control triggers the valueChanged event when the value of the rating is changed. The RatingChangedEventArgs passed as an event argument provides the details when value is changed.

// Initialize the Rating control.
var rating = new ej.inputs.Rating({
    valueChanged: (args)=> {
       //Your required action here
    }
});

// Render initialized Rating.
rating.appendTo('#rating');

Below example demonstrates the valueChanged event of the Rating control.

ej.base.enableRipple(true);

// Initialize the Rating control.
var rating = new ej.inputs.Rating({ 
    valueChanged: (args)=> {
        alert("Previous Value:"+args.previousValue+"\nValue:"+args.value);
    } 
});

// Render initialized Rating.
rating.appendTo('#rating');
<!DOCTYPE html><html lang="en"><head>
    <title>EJ2 Rating</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="TypeScript Rating Control">
    <meta name="author" content="Syncfusion">
    <link href="styles.css" rel="stylesheet">
    <link href="https://cdn.syncfusion.com/ej2/25.1.35/ej2-base/styles/material.css" rel="stylesheet">
    <link href="https://cdn.syncfusion.com/ej2/25.1.35/ej2-buttons/styles/material.css" rel="stylesheet">
    <link href="https://cdn.syncfusion.com/ej2/25.1.35/ej2-popups/styles/material.css" rel="stylesheet">
    <link href="https://cdn.syncfusion.com/ej2/25.1.35/ej2-inputs/styles/material.css" rel="stylesheet">
    
    
<script src="https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2.min.js" type="text/javascript"></script>
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
</head>
<body>
    
    <div id="container">
        <div class="wrap">
            <input id="rating">
        </div>
    </div>

<script>
var ele = document.getElementById('container');
if(ele) {
  ele.style.visibility = "visible";
}   
      </script>
<script src="index.js" type="text/javascript"></script>
</body></html>
#container {
    visibility: hidden;
}

#loader {
  color: #008cff;
  font-family: 'Helvetica Neue','calibiri';
  font-size: 14px;
  height: 40px;
  left: 45%;
  position: absolute;
  top: 45%;
  width: 30%;
}

.wrap {
  margin: 50px auto;
  text-align: center;
}