screen_rotation
Copied to Clipboard
<html> <head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <div class="container"> <h3>Vue Js Change Input Color Based On Value</h3> <div class="field-wrapper"> <label class="field-label">Field Value</label> <input type="text" :class="fieldColorClass" :style="{ backgroundColor: fieldColorClass }" v-model="fieldValue" class="field-input"> </div> <p>Value 0-25 : red color</p> <p>Value 26-50 : Blue color</p> <p>Value 51-75 : Yellow color</p> <p>Value 76-100 : Green color</p> </div> </div> <script type="module"> const app = new Vue({ el: "#app", data() { return { fieldValue: 78 // Initial value of the field }; }, computed: { fieldColorClass() { const value = this.fieldValue; if (value >= 1 && value <= 25) { return 'red-color'; } else if (value > 25 && value <= 50) { return 'some-color'; } else if (value > 50 && value <= 75) { return 'yellow-color'; } else if (value > 75 && value <= 100) { return 'green-color'; } else { return ''; // Default color class if value doesn't match any range } } } }); </script> <style> .container { max-width: 400px; margin: 0 auto; padding: 20px; background-color: #ffffff; border-radius: 5px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); } .field-wrapper { position: relative; } .field-label { position: absolute; top: -15px; left: 5px; font-size: 12px; color: #888888; } .field-input { width: 100%; padding: 10px; font-size: 16px; border: 1px solid #dddddd; border-radius: 4px; background-color: #ffffff; } .red-color { color: #d50000; background-color: #ff5252; border-color: #b71c1c; } .blue-color { color: #0d47a1; background-color: #64b5f6; border-color: #0d47a1; } .yellow-color { color: #eea000; background-color: #ffee58; border-color: #eea000; } .green-color { color: #1b5e20; background-color: #81c784; border-color: #1b5e20; } .container p { margin: 5px 0; font-size: 10px; color: #b71c1c } </style> </body> </html>