field().hide()
Remove a field from the form display.
Please note - this property requires the Editor extension for DataTables.
Description
This method provides the ability to hide a field from the end user at any time. This can be useful for cases when you want to have extra form fields available, but only show them under certain conditions (for example when a particular value is selected, you might provide further options based on that value). Fields which will never be visible to the end user can use the hidden field type.
When a field is hidden, it is still part of the form and will be submitted with the other fields to the server, when the form is submitted, but it simply won't be visible to the user. The clear() method is used to completely remove fields if required.
This is the inverse of the field().show() method.
Note that the hide() method also provides the ability to remove a specific field from the form display, and also extends that ability to being able to remove multiple fields with a single call. For single fields, these two methods can often be used interchangeably. The key difference is in the return value - this method will return a DataTable.Editor.Field instance, while the hide() method returns a DataTable.Editor instance. This can effect how you chain methods if you are using the returned value for chaining.
Type
field(…).hide( [ animate ] )
Remove the field from the form display.
Parameters:
| Name | Type | Optional | |
|---|---|---|---|
| 1 | animate | Yes - default:true | |
If the field is visible on screen (i.e. the form is shown), by default Editor will attempt to animate the hiding (animating the height to | |||
Returns:
DataTable.Editor.Field: Field instance
Examples
Show a 'create' record form, but with a field hidden:
editor.field('account_type').hide();
editor
.title('Create new user')
.buttons('Save')
.create('Add new user');Use show() to show all fields and then remove a single one from the display:
editor.show();
editor.field('access_type').hide();Show and hide a field, based on user input:
editor
.field('dept')
.input()
.on('change', function () {
if (editor.field('dept').val() === 'Marketing') {
editor.field('marketing-section').show();
}
else {
editor.field('marketing-section').hide();
}
});