I've a simple html form with text field with id="zip" what I want to do is monitor that field and whenever the value changes enable/disable an array of checkboxes based on the input. Currently the change event only fires once I tab or the zip input field. I tried experimenting with keypress but it would always give the value of the text field minus the current character:
<form id+"testform">
Zip Code <input id="zip" value="" /><br />
Zip 4<input type="checkbox" id="check_one" /><br />
Zip 3<input type="checkbox" id="check_two" /><br />
</form>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$('#zip').change(function() {
var zipCode = $(this).val();
zipCode = zipCode.substring(0,1);
if(zipCode == 3) {
$("#check_one").attr('disabled','disabled');
$("#check_two").removeAttr('disabled');
} else if (zipCode == 4) {
$("#check_one").removeAttr('disabled');
$("#check_two").attr('disabled','disabled');
} else {
$("#check_one").removeAttr('disabled');
$("#check_two").removeAttr('disabled');
}
});
</script>开发者_Go百科
Is there an appropriate jQuery event that fires after each character is input?
onkeyup should be the event you are looking for.
http://api.jquery.com/keyup/
精彩评论