JQuery / script cheatsheet
Revision as of 10:06, 7 September 2017 by old>Admin
Selecting text for easy copying
var textNode = document.getElementById('IdOfNodeToBeSelected');
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(textNode);
range.select();
} else if (window.getSelection) {
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(textNode);
selection.removeAllRanges();
selection.addRange(range);
}
Building multiselect values from existing services
function split( val ) {
return val.split( /,\s*/ );
}
function extractLast( term ) {
return split( term ).pop();
}
$(function() {$("#DATA_TERRITORY").autocomplete({
source: function( request, response ) {
$.getJSON( "autocomplete?type=dk.p2e.blanket.form.fields.ajax.FieldAjaxCountry&subtype=0", {
term: extractLast( request.term )
}, response );
},
autoFocus: true,
min_length: 2,
delay: 300,
search: function() {
// custom minLength
var term = extractLast( this.value );
if ( term.length < 2 ) {
return false;
}
},
focus: function() {
// prevent value inserted on focus
return false;
},
select: function( event, ui ) {
var terms = split( this.value );
// remove the current input
terms.pop();
// add the selected item
terms.push( ui.item.value );
// add placeholder to get the comma-and-space at the end
terms.push( "" );
this.value = terms.join( ", " );
return false;
}
});});