Pedido e Itens pedidos - jquery executa apenas uma vez

Boa tarde pessoal,

Sou novo aqui na utilização do Yii, e estou apanhando para criação de um formulario com pedidos e itens pedidos, seguindo estes tutoriais http://www.yiiframework.com/forum/index.php/topic/37387-pedidos-e-itens-de-pedidos/

e usando a extensão jappendo consegui gerar o layout adicionar o pedido e um item porém quando adiciono um segundo ou terceiro item não executa a função jquery que realiza a multiplicação da quantidade de quilos e valor total do item.

Segue em anexo um print da aplicação, e código do arquivo que gera os itens do pedido:




<?php

// SCRIPT DE CALCULO TOTAL DE ITEM

Yii::app()->clientScript->registerScript('totalkg', " 

    // $('.div-miniaturas').delegate('.miniatura', 'click', function() {

    //$('#quantidade_sacas').live('blur', function(){  

     //$('#quantidade_sacas').focusout(function(){ 

    $('#pedido-form').on('blur', '#quantidade_sacas', function() {

    var quantidade_sacas = $('#quantidade_sacas').val();

    var sacas = $('#sacas').val();

    var peso = parseFloat(quantidade_sacas*sacas);

    var quantidade_kg = peso.toFixed(2);

         //alert('valor total ' + total_item);

    $('#quantidade_kg').val(quantidade_kg);


   //$('div#total').html(total); //mostrando o resultado em uma div também

   });"

);


/*

  // SCRIPT DE CALCULO TOTAL DE ITEM

  Yii::app()->clientScript->registerScript('totalkg1', "


  // $('#quantidade_sacas').focusout(function(){

  $('#quantidade_sacas[]').live('blur', function(){

  var quantidade_sacas = $('#quantidade_sacas[]').val();

  var sacas = $('#sacas[]').val();

  var peso = parseFloat(quantidade_sacas[]*sacas[]);

  var quantidade_kg = peso.toFixed(2);

  //alert('valor total ' + total_item);

  $('#quantidade_kg[]').val(quantidade_kg);


  //$('div#total').html(total); //mostrando o resultado em uma div também

  });"

  );

 * 

 */





// SCRIPT DE CALCULO TOTAL DE ITEM

Yii::app()->clientScript->registerScript('totalitem', " 


    $('#preco_venda').focusout(function(){


    var quantidade_kg = $('#quantidade_kg').val();

    var preco_venda = $('#preco_venda').val();

    var calculo = parseFloat(quantidade_kg*preco_venda);

    var total_item = calculo.toFixed(2);

         //alert('valor total ' + total_item);

    $('#total_item').val(total_item);


   //$('div#total').html(total); //mostrando o resultado em uma div também

   });"

);


?>


<table class="appendo-gii" id="<?php echo $id ?>">




    <thead>

        <tr>

    <h2>Itens Pedido</h2 >

</tr>


<tr>

    <th>Produto</th><th>Kg Sacas</th><th>Qtd. Sacas</th><th>Qtd. Kg</th><th>Preço</th><th>Total Item</th>

</tr>

</thead>

<tbody>

    <?php if ($model->idproduto == null): ?>

        <tr>

            <td>

                <?php

                echo CHtml::dropDownList('idproduto[]', "string", CHtml::listData(

                                Produto::model()->findAll(), 'idproduto', 'descricao'), array('empty' => 'Selecione um produto'), array('style' => 'width:100px'));

                ?>


            </td>


            <td>

                <?php

                echo CHtml::dropDownList('sacas[]', "string", array(

                    10 => "Saca 10 kg",

                    25 => "Saca 25 kg",

                    50 => "Saca 50 kg",), array('empty' => 'Selecione a saca'), array('style' => 'width:100px'));

                ?>

            </td>


            <td><?php echo CHtml::textField('quantidade_sacas[]', '', array('id' => 'quantidade_sacas'), array('style' => 'width:60px')); ?></td>

            <td><?php echo CHtml::textField('quantidade_kg[]', '', array('id' => 'quantidade_kg'), array('disabled' => true), array('style' => 'width:80px')); ?></td>

            <td><?php echo CHtml::textField('preco_venda[]', '', array('id' => 'preco_venda'), array('style' => 'width:60px')); ?></td>

            <td><?php echo CHtml::textField('total_item[]', '', array('id' => 'total_item'), array('disabled' => true), array('style' => 'width:80px')); ?></td>


        </tr>

    <?php else: ?>

        <?php for ($i = 0; $i < sizeof($model->idproduto); ++$i): ?>

            <tr>


                <td>

                <?php

                echo CHtml::dropDownList('idproduto[]', $model->idproduto[$i], CHtml::listData(

                                Produto::model()->findAll(), 'idproduto', 'descricao'), array('empty' => 'Selecione um produto'), array('style' => 'width:100px'));

                ?>


                </td>


                <td>

                <?php

                echo CHtml::dropDownList('sacas[]', $model->sacas[$i], array(

                    10 => "Saca 10 kg",

                    25 => "Saca 25 kg",

                    50 => "Saca 50 kg",), array('empty' => 'Selecione a saca'), array('style' => 'width:100px'));

                ?>

                </td>


                <td><?php echo CHtml::textField('quantidade_sacas[]', $model->quantidade_sacas[$i], array('id' => 'quantidade_sacas'), array('style' => 'width:60px')); ?></td>

                <td><?php echo CHtml::textField('quantidade_kg[]', $model->quantidade_kg[$i], array('id' => 'quantidade_kg'), array('style' => 'width:80px')); ?></td>

                <td><?php echo CHtml::textField('preco_venda[]', $model->preco[$i], array('id' => 'preco_venda'), array('style' => 'width:60px')); ?></td>

                <td><?php echo CHtml::textField('total_item[]', $model->total_item[$i], array('id' => 'total_item'), array('style' => 'width:80px')); ?></td>




            </tr>

        <?php endfor; ?>

        <tr>

            <td>

                <?php

                echo CHtml::dropDownList('idproduto[]', "string", CHtml::listData(

                                Produto::model()->findAll(), 'idproduto', 'descricao'), array('empty' => 'Selecione um produto'), array('style' => 'width:100px'));

                ?>


            </td>


            <td>

                <?php

                echo CHtml::dropDownList('sacas[]', "string", array(

                    10 => "Saca 10 kg",

                    25 => "Saca 25 kg",

                    50 => "Saca 50 kg",), array('empty' => 'Selecione a saca'), array('style' => 'width:100px'));

                ?>

            </td>


            <td><?php echo CHtml::textField('quantidade_sacas[]', '', array('id' => 'quantidade_sacas'), array('style' => 'width:60px')); ?></td>

            <td><?php echo CHtml::textField('quantidade_kg[]', '', array('id' => 'quantidade_kg'), array('style' => 'width:80px')); ?></td>

            <td><?php echo CHtml::textField('preco_venda[]', '', array('id' => 'preco_venda'), array('style' => 'width:60px')); ?></td>

            <td><?php echo CHtml::textField('total_item[]', '', array('id' => 'total_item'), array('style' => 'width:80px')); ?></td>

        </tr>

    <?php endif; ?>

</tbody>

</table>




Muito obrigado grande abraço !!!

Não que entenda realmente disso…

Mas no site que estou dando manutenção tem um pedaço de código que creio que seja parecido com oq voce precisa fazer, pois ele RE-INSTALA um código JQuery


Yii::app()->clientScript->registerScript('re-install-date-picker', "

 function boostrapSelect() {

     $('.selectpicker').selectpicker({

         width: '100%'

     });

}



Vou testar e aviso …

Novamente muito obrigado !!!