I am trying to customize the queryBuilder and trying to customize it with date-picker.I want to show datepicker in input field For reference:- /.
I am trying to use below code. For your reference you can try this at codePen and link to codePen is given below.
$('#builder-widgets').on('afterCreateRuleInput.queryBuilder', function (e, rule) {
if (rule.filter.plugin === 'datetimepicker') {
var $input = rule.$el.find('.rule-value-container [name*=_value_]');
$input.on('dp.change', function () {
$input.trigger('change');
});
}
});
$('#builder-widgets').queryBuilder({
plugins: ['bt-tooltip-errors'],
filters: [{
id: 'date',
label: 'datetimepicker',
type: 'datetime',
plugin: 'datetimepicker',
plugin_config: {
}
}]
});
I am trying to customize the queryBuilder and trying to customize it with date-picker.I want to show datepicker in input field For reference:- http://querybuilder.js/.
I am trying to use below code. For your reference you can try this at codePen and link to codePen is given below.
$('#builder-widgets').on('afterCreateRuleInput.queryBuilder', function (e, rule) {
if (rule.filter.plugin === 'datetimepicker') {
var $input = rule.$el.find('.rule-value-container [name*=_value_]');
$input.on('dp.change', function () {
$input.trigger('change');
});
}
});
$('#builder-widgets').queryBuilder({
plugins: ['bt-tooltip-errors'],
filters: [{
id: 'date',
label: 'datetimepicker',
type: 'datetime',
plugin: 'datetimepicker',
plugin_config: {
}
}]
});
https://codepen.io/mramart/pen/oLwrJN
Share Improve this question edited Oct 10, 2017 at 18:52 sahil asked Oct 10, 2017 at 18:42 sahilsahil 1091 gold badge3 silver badges10 bronze badges1 Answer
Reset to default 5It's not loading the plugin, because the bootstrap datepicker JS library isn't loaded.
Your code pen example requires the 'bootstrap datepicker' library to be added via "Settings", you need to add to external Javascript:
'https://cdnjs.cloudflare./ajax/libs/bootstrap-datepicker/1.7.1/js/bootstrap-datepicker.min.js'
Here's 'just datepicker':
https://codepen.io/anon/pen/WZJqjd?editors=1011
JS Code:
var rules_widgets = {
condition: 'OR',
rules: [{
id: 'date',
operator: 'equal',
value: '1991/11/17'
}]
};
$('#builder-widgets').queryBuilder({
plugins: ['bt-tooltip-errors'],
filters: [{
id: 'date',
label: 'Datepicker',
type: 'date',
validation: {
format: 'YYYY/MM/DD'
},
plugin: 'datepicker',
plugin_config: {
format: 'yyyy/mm/dd',
todayBtn: 'linked',
todayHighlight: true,
autoclose: true
}
}],
rules: rules_widgets
});
$('#btn-reset').on('click', function() {
$('#builder-widgets').queryBuilder('reset');
});
$('#btn-set').on('click', function() {
$('#builder-widgets').queryBuilder('setRules', rules_widgets);
});
$('#btn-get').on('click', function() {
var result = $('#builder-widgets').queryBuilder('getRules');
if (!$.isEmptyObject(result)) {
alert(JSON.stringify(result, null, 2));
}
});
HTML:
<div id="builder-widgets"></div>
<button class="btn btn-success" id="btn-set">Set Rules</button>
<button class="btn btn-primary" id="btn-get">Get Rules</button>
<button class="btn btn-warning" id="btn-reset">Reset</button>