This just means "you should use proper ajax and not a fake", but it has almost likely nothing to do with the issue (because it works on android and desktops).
Recap: the jump to shows only the current board in any browser under iOS.
Does that sound right?
Good.
Let's see where exactly the problem is.
Change in script.js the function:
function grabJumpToContent(elem)
{
var oXMLDoc = getXMLDocument(elk_prepareScriptUrl(elk_scripturl) + 'action=xmlhttp;sa=jumpto;xml'),
aBoardsAndCategories = [],
i = 0,
n = 0;
if (oXMLDoc.responseXML)
{
var items = oXMLDoc.responseXML.getElementsByTagName('elk')[0].getElementsByTagName('item');
for (i = 0, n = items.length; i < n; i++)
{
aBoardsAndCategories[aBoardsAndCategories.length] = {
id: parseInt(items[i].getAttribute('id')),
isCategory: items[i].getAttribute('type') === 'category',
name: items[i].firstChild.nodeValue.removeEntities(),
is_current: false,
childLevel: parseInt(items[i].getAttribute('childlevel'))
};
}
}
for (i = 0, n = aJumpTo.length; i < n; i++)
aJumpTo[i].fillSelect(aBoardsAndCategories);
// Internet Explorer needs this to keep the box dropped down.
elem.style.width = 'auto';
elem.focus();
}
to:
function grabJumpToContent(elem)
{
alert('click');
var oXMLDoc = getXMLDocument(elk_prepareScriptUrl(elk_scripturl) + 'action=xmlhttp;sa=jumpto;xml'),
aBoardsAndCategories = [],
i = 0,
n = 0;
if (oXMLDoc.responseXML)
{
alert('response');
var items = oXMLDoc.responseXML.getElementsByTagName('elk')[0].getElementsByTagName('item');
for (i = 0, n = items.length; i < n; i++)
{
aBoardsAndCategories[aBoardsAndCategories.length] = {
id: parseInt(items[i].getAttribute('id')),
isCategory: items[i].getAttribute('type') === 'category',
name: items[i].firstChild.nodeValue.removeEntities(),
is_current: false,
childLevel: parseInt(items[i].getAttribute('childlevel'))
};
}
alert(aBoardsAndCategories.length);
}
for (i = 0, n = aJumpTo.length; i < n; i++)
aJumpTo[i].fillSelect(aBoardsAndCategories);
// Internet Explorer needs this to keep the box dropped down.
elem.style.width = 'auto';
elem.focus();
}
to see if the function is actually called, if the response is valid XML and how many elements are found to be added.
The new function generates some message boxes any time you click the jump to, so you may want to keep it live only for the time to give it a try.