2015-12-12 30 views
-3

我有一个文本框,用于输入汽车注册号码。注册基于年份,格式为GT 74454 12,最后一位数12代表年份2012这意味着这辆车在2012注册。我想要一个将自动检测最后两位数字并影响下拉列表值的脚本。基于文本域中最后2个变量的下拉列表更改值

例如,如果年份范围从09 - 12下拉的值应该是红色。如果范围从13 - 16,则下拉列表的值应变为蓝色。

HTML

<form id="form1" name="form1" method="post" action=""> 
    <label for="car_no"></label> 
    <input type="text" name="car_no" id="car_no" /> 
    <label for="select"></label> 
    <select name="select" id="select"> 
    <option>Color Code</option> 
    <option>Red</option> 
    <option>Blue</option> 
    <option>White</option> 
    </select> 
</form> 

http://jsfiddle.net/y18c2hzo/

EDIT 
there are some registrations that comes in a different format too which goes like this "GT 74454 X". How do i make the script autodect if the last digit is an alphabet the value shoud change to white 
+1

你可以请张贴迄今为止已经尝试过的js吗? – Rhono

+0

2009年之前注册的汽车应该发生什么和/或不适合这种格式? –

+0

@DavidThomas,这是一个伟大的建议,我修改了帖子 –

回答

2

试试以下代码。

$(document).ready(function(){ 
 
$("#car_no").change(function(){ 
 
    var value= $(this).val(), 
 
     year = value.split(" ")[2]; 
 
    if(year >=9 && year<=12) 
 
    \t $("#select").val("Red") 
 
    if(year >=13 && year<=16) 
 
    \t $("#select").val("Blue") 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="form1" name="form1" method="post" action=""> 
 
    <label for="car_no">car number</label> 
 
    <input type="text" name="car_no" id="car_no" /> 
 
    <label for="select"></label> 
 
    <select name="select" id="select"> 
 
    <option>Color Code</option> 
 
    <option>Red</option> 
 
    <option>Blue</option> 
 
    <option>White</option> 
 
    </select> 
 
</form>

希望这会帮助你。

+0

谢谢,剧本的作品,也有不同的格式,就像这样的“GT 74454 X”。如果最后一位数字是字母表,数值应该变成白色,我该如何使脚本自动检测 –

+0

检查此小提琴。 https://jsfiddle.net/ooz0wLr3/。使用** isNaN()**方法可以检查值是否为数字。 – balachandar

+0

哇,谢谢它的工作。耶稣祝福你 –

0

尝试

$('select').on('change', function() { 
    alert(this.value); // or $(this).val() 
    if(your condition){ 
    $("select").css("background-color", "red"); 
    }else if (your condition){ 
    ///your codes 
    } 
}); 
1

我做了一个简单的例子here

$('#car_no').keyup(function (event) { 
    var value = $(event.target).val(); 
    var year = parseInt(value.trim().substr(-2), 10); 
    if (year >= 9 && year <= 12) { 
     $('#select').val('Red'); 
    } else if (year >= 13 && year <= 16) { 
     $('#select').val('Blue'); 
    } 
}); 

该代码只是检测文本输入中的关键事件并检索其值。通过删除任何空格并取出字符串的最后两位数字并将其转换为整数来确定年份。然后,您可以比较年份的值并相应地调整组合框的值。

相关问题