ho una lista(ul), che contiene dei campi (li)...
mi servirebbe, con il DOM trovare l'elemento che nell'elemento ul abbia l'id più grande, per trovare l'ultimo elemento...
vi starete chiedendo perchè non uso la proprietà lastChild, ma la lista la modifico con scriptaculous con Sortable.list, e siccome anche questa va a lavorare sul DOM, mi darebbe un id gia esistente... cosa dovrei fare??? vi posto i miei tentativi.
codice:
<ul id="menus">
<li id="menu_3" style="cursor:move">Contattami X
<li id="menu_4" style="cursor:move">Forum X
<li id="menu_2" style="cursor:move">Index X[/list]
<script type="text/javascript">
function updateOrder()
{
var options = {
method : 'post',
parameters : Sortable.serialize('menus')
};
new Ajax.Request('http://localhost:85/php3/php3/index.php/Admin/Menuedit/edit/false', options);
}
Sortable.create('menus', { onUpdate : updateOrder });
function nuovo() {
var nuovo = document.liname.name.value;
if(nuovo == ""){
alert('il campo name non può essere vuoto');
document.liname.name.focus();
return;
}
if(document.getElementById && document.createElement) {
// Creiamo il nuovo elemento IMG e
// settiamo l'attributo src, che recupera l'immagine
var tag = document.getElementById('menus');
var last = "";
for(var i = 1; tag.length; i++){
var child = tag.childNodes[i].getAttribute('id');
document.write(child);
if(last < child) last = child;
}
++last;
li = document.createElement("LI");
li.setAttribute("id","menu_" + last);
li.setAttribute("style", "cursor: move; position: relative;");
li.innerHTML = nuovo + ' X';
// inseriamola quindi nel nostro paragrafo
document.getElementById("menus").appendChild(li);
}
}
function del(id, nodeId){
if(confirm('Eliminare?')){
var tag = document.getElementById('menus');
var remove = document.getElementById(id);
tag.removeChild(remove);
var new_id = id.replace(/menu_([0-9]{1,}){1}/, '$1');
var options = {
method : 'post',
parameters : 'id=' + new_id
}
new Ajax.Request('http://localhost:85/php3/php3/index.php/Admin/Menuedit/edit/del', options);
}
}
</script>
<form name="liname"><input name="name" type="text" /><input type="button" onclick="nuovo()" value="Nuova voce"/></form>
vi prgo aiutatemi