[OFF] Prototype JS
07/10/2011 09:33
0
Bom dia pessoal, estou começando agora com o prototype, pois o mesmo acompanha o grails por padrão, fiz uma função "addItem()" que duplica uma linha para eu adicionar itens em um pedido, vou anexar o código pra vocês, o código está funcionando! Porém gostaria de saber se existe uma maneira melhor de fazer o que fiz, principalmente esses "if's" tem cara de POG:
function addItem() {

var clone = $('item_clone').clone(true);
var htmlId = 'itensList['+childCount+'].';

clone.childElements().each(function(element) {
var cod = element.identify();
if (cod === "itensList[_clone].pedidoVenda.pk") {
element.writeAttribute('id', htmlId+'pedidoVenda.pk');
element.writeAttribute('name', htmlId+'pedidoVenda.pk');
} else if (cod === "itensList[_clone].itemSequencia") {
element.writeAttribute('id', htmlId+'itemSequencia');
element.writeAttribute('name', htmlId+'itemSequencia');
} else if (cod === "itensList[_clone].deleted") {
element.writeAttribute('id', htmlId+'deleted');
element.writeAttribute('name', htmlId+'deleted');
} else if (cod === "itensList[_clone].new") {
element.writeAttribute('id', htmlId+'new');
element.writeAttribute('name', htmlId+'new');
} else if (cod === "itensList[_clone].produto.pk") {
element.writeAttribute('id', htmlId+'produto.pk');
element.writeAttribute('name', htmlId+'produto.pk');
} else if (cod === "itensList[_clone].quantidade") {
element.writeAttribute('id', htmlId+'quantidade');
element.writeAttribute('name', htmlId+'quantidade');
}
});

clone.writeAttribute('id', 'item'+childCount);
$("childList").insert(clone);
clone.show();
// itemInput.focus();
childCount++;
}

Se puderem me dar uma luz.
Tags: prototype javascript js


0
Oi Castiel,

talvez você possa usar ao invés dos ifs um switch hein? A melhoria seria meramente estética, mas se te ajudar a entender melhor o código, já tá valendo.

Outra dica: coloque no topo os casos que ocorram mais: assim você evita a execução dos casos mais raros, o que vai aumentar sua performance um pouco (ou muito) também.


0
Entendi sobre o switch,
sobre eu mudar a ordem dos "ifs", não vejo necessidade pois o código tem que pegar todos sempre.
Valeu.
07/10/2011 17:19



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto