String onChangeString = "parentSwapped(window.document.forms[0]." + parentSelectName + ".options[selectedIndex].value,window.document.forms[0]." + childSelectName +"," + selectedParentId + "," + selectedChildId +");";
String onChangeString = "parentSwapped("+parentsChildrenId+",window.document." + formName() + "." + parentSelectName + ".options[selectedIndex].value,window.document."+ formName() + "." + childSelectName +"," + selectedParentId + "," + selectedChildId +");";
    public String parentPopUpString() {        String onChangeString = "parentSwapped(window.document.forms[0]." + parentSelectName + ".options[selectedIndex].value,window.document.forms[0]." + childSelectName +"," + selectedParentId + "," + selectedChildId +");";        StringBuffer returnString = selectHeader(parentSelectName, onChangeString, selectedParent(), parentPopUpStringForAll());        // write out each of the values for the options tags. be sure to set the selected tag if necessary        if (selectedParent()==null && parentPopUpStringForAll()==null)            setSelectedParent(parentEntitiesList().objectAtIndex(0));        int iCount = parentEntitiesList().count();        for (int i=0;i<iCount;i++) {            Object aEntity = (Object)parentEntitiesList().objectAtIndex(i);            returnString.append("\t<option ");            if (aEntity.equals(selectedParent())) {                returnString.append("selected=\"selected\" ");            }            returnString.append("value=\"" + aEntity.hashCode() + "\">");            returnString.append(NSKeyValueCoding.Utility.valueForKey(aEntity, parentDisplayValueName()));            returnString.append("\n");        }        returnString.append("</select>\n");        return returnString.toString();    }