Use with the Bootstrap Select plugin.
The Favorite color option requires to choose 2-4 colors you like most.
The Language option requires to choose your native language.
<!-- Include Bootstrap-select CSS -->
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.2/css/bootstrap-select.min.css" />
<!-- Include Bootstrap-select JS -->
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.2/js/bootstrap-select.min.js"></script>
<style type="text/css">
#bootstrapSelectForm .selectContainer .form-control-feedback {
/* Adjust feedback icon position */
right: -15px;
}
</style>
<form id="bootstrapSelectForm" method="post" class="form-horizontal">
<div class="form-group">
<label class="col-lg-3 control-label">Favorite color</label>
<div class="col-lg-5 selectContainer">
<select name="colors" class="form-control" multiple title="Choose 2-4 colors">
<option value="black">Black</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
<option value="orange">Orange</option>
<option value="red">Red</option>
<option value="yellow">Yellow</option>
<option value="white">White</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label">Language</label>
<div class="col-lg-5 selectContainer">
<select name="language" class="form-control">
<option value=""></option>
<option value="arabic">Arabic</option>
<option value="english">English</option>
<option value="french">French</option>
<option value="german">German</option>
<option value="other">Other</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-lg-5 col-lg-offset-3">
<button type="submit" class="btn btn-default">Validate</button>
</div>
</div>
</form>
$(document).ready(function() {
$('#bootstrapSelectForm')
.find('[name="colors"]')
.selectpicker()
.change(function(e) {
// revalidate the color when it is changed
$('#bootstrapSelectForm').bootstrapValidator('revalidateField', 'colors');
})
.end()
.find('[name="language"]')
.selectpicker()
.change(function(e) {
// revalidate the language when it is changed
$('#bootstrapSelectForm').bootstrapValidator('revalidateField', 'language');
})
.end()
.bootstrapValidator({
excluded: ':disabled',
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
colors: {
validators: {
callback: {
message: 'Please choose 2-4 colors you like most',
callback: function(value, validator) {
// Get the selected options
var options = validator.getFieldElements('colors').val();
return (options != null && options.length >= 2 && options.length <= 4);
}
}
}
},
language: {
validators: {
notEmpty: {
message: 'Please select your native language.'
}
}
}
}
});
});