Hey folks, I’ve been stuck on trying to get this ■■■■ thing to work for quite a while now, I just want to display nodes with information about College courses when the user chooses the check boxes, any help would be appreciated, thanks
var search_fields:String;
check_science.checked=false;
check_humanities.checked=false;
check_business.checked=false;
check_hotel.checked=false;
function Results() {
ElementsToSearch = function () {
var childElementsToSearch = [];
if (check_science.checked=true) {
search_fields="Science";
childElementsToSearch.push("Points");
childElementsToSearch.push("Department");
childElementsToSearch.push("Course_Name");
childElementsToSearch.push("Message");
}
if (check_humanities.checked=true) {
search_fields = "Humanities";
childElementsToSearch.push("Points");
childElementsToSearch.push("Department");
childElementsToSearch.push("Course_Name");
childElementsToSearch.push("Message");
}
if (check_business.checked=true) {
search_fields= "Business";
childElementsToSearch.push("Points");
childElementsToSearch.push("Department");
childElementsToSearch.push("Course_Name");
childElementsToSearch.push("Message");
}
if (check_hotel.checked=true) {
search_fields= "Hotel";
childElementsToSearch.push("Points");
childElementsToSearch.push("Department");
childElementsToSearch.push("Course_Name");
childElementsToSearch.push("Message");
}
return childElementsToSearch;
trace(search_fields);
};
String.prototype.contains = function(searchString) {
return (this.indexOf(searchString) != -1);
};
Array.prototype.contains = function(searchValue) {
var i = this.length;
while (i--) {
if (this* == searchValue) {
return true;
}
}
return false;
};
SearchXML = function (nodes, query, useChildElements) {
var results = [];
for (var i = 0; i<nodes.length; i++) {
for (var j = 0; j<nodes*.childNodes.length; j++) {
currNode = nodes*.childNodes[j];
if (useChildElements.contains(currNode.nodeName)) {
if (currNode.firstChild.nodeValue.contains(query)) {
results.push(nodes*);
break;
}
}
}
}
return results;
};
DisplayNodes = function (nodes, field_txt) {
field_txt.htmlText = "";
var entry;
var separator = "<br>_______________________<br><br>";
for (var i = 0; i<nodes.length; i++) {
entry = "";
entry += "<b>"+nodes*.childNodes[0].firstChild.nodeValue+"</b>";
entry += " by: "+nodes*.childNodes[1].firstChild.nodeValue;
entry += "<br>"+nodes*.childNodes[2].firstChild.nodeValue;
field_txt.htmlText += entry+separator;
}
};
HighlightOccurences = function (str, field_txt, format) {
if (!str.length) {
return (0);
}
var start = field_txt.text.indexOf(str);
var end = start+str.length;
while (start != -1) {
field_txt.setTextFormat(start, end, search_highlight);
start = field_txt.text.indexOf(str, end);
end = start+str.length;
}
};
var course2 = new XML();
course2.ignoreWhite = true;
course2.load("course2.xml");
var searchElements = ElementsToSearch();
var nodesWithQuery = SearchXML(this.firstChild.childNodes,search_fields,searchElements);
if (nodesWithQuery>0) {
DisplayNodes(nodesWithQuery, Results_txt);
} else {
Results_txt.text = "No results for "+search_fields+".";
return (0);
}
HighlightOccurences(search_fields, Results_txt, search_highlight);
}