I just posted about Monkey Patching, a technique used in chapter 7 of my book PeopleTools Tips and Techniques to set the default search page operator on advanced search pages (Note: only 8.50 and later required Monkey Patching). As I was looking over the "Changing Search Operators" section of chapter 7, I noticed the code was missing a few lines (pages 293 - 296). Here is my revision:
<script type="text/javascript">
// C style include protection
if(!window.apt.setSearchOp) {
window.apt.setSearchOp = true;
if(window.net) {
// pt 8.50
(function($) {
var originalContentLoader = net.ContentLoader;
net.ContentLoader = function(url,form,name,method,onload,onerror,params,contentType,bAjax,bPrompt) {
var originalOnLoad = onload;
if(name == "#ICAdvSearch") {
onload = function() {
if (typeof originalOnLoad == "undefined" || !originalOnLoad) {
this.processXML();
} else {
originalOnLoad.call(this);
}
// The value for "between" is 9. Change this to your desired
// search operator value.
var newValue = 9;
// The name of the search key field is APT_UI_SCRIPTS_MENUNAME.
// Generally speaking, PeopleSoft creates HTML element names by
// combining record and field names with an underscore as in
// RECORD_FIELD. Change the following value to the name of your
// search key record_field
var coll = $("select[name='APT_UI_SCRIPTS_MENUNAME$op']");
if(coll.val() != newValue) {
coll.val(newValue).change();
}
}
}
return new originalContentLoader (url,form,name,method,onload,onerror,params,contentType,bAjax,bPrompt);
}
})(window.jQuery);
} else {
// pt 8.4x, $(document).ready below will handle pt 8.4x
}
// just in case advanced is the initial view
$(document).ready(function() {
var newValue = 9;
var coll = $("select[name='APT_UI_SCRIPTS_MENUNAME$op']");
if(coll.val() != newValue) {
coll.val(newValue).change();
}
});
}
</script>