-1
<?php echo CHtml::beginForm('','post',array('id'=>'base-si-received-item-form'));?>
<?php 
    $this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'base-si-received-item-grid',
        'dataProvider'=>BaseRefSiDetails::model()->search(),
        //'filter'=>$searchModel,
        'columns'=>array(       
            array(
                'class'=>'CCheckBoxColumn',
                'id'=>'base-si-received-item-id',       
                'selectableRows'=>2, // multiple rows can be selected
            ),                  
            array(
                'name'=>'unit',
                'header'=>'unit',
                'type'=>'raw',
                'value'=>'CHtml::textField(BaseSiReceivedItem::model()->quantity_received,"",array("id"=>"received_quantity","name"=>"quantity_received"))',
            ),
            array(
                'name'=>'unit',
                'header'=>'unit',
                'type'=>'raw',
                'value'=>'CHtml::dropDownlist(BaseSiReceivedItem::model()->unit,"unit",array("pc"=>"pc","box"=>"box"))'
            ),
            array(
                'name'=>'unit_cost',
                'header'=>'unit cost',
                'type'=>'raw',
                'value'=>'CHtml::textField(BaseSiReceivedItem::model()->unit_cost,"",array("id"=>"unit_cost"))',
            ),
            array(
                'name'=>'total_cost',
                'header'=>'total cost',
                'type'=>'raw',
                'value'=>'CHtml::textField(BaseSiReceivedItem::model()->total_cost,"",array("id"=>"total_cost","readonly"=>"readonly"))',
            ),
        )
    )
?>

gridviewに問題があります。
私がする必要があるのは、受け取った数量と単価を入力すると、合計金額に価格が自動的に表示されることです。それを行うためのjqueryスクリプトがあります。
私の問題は、最初の行だけがコードを実行していることです:

これが私のjqueryです:

 $(document).ready( function(){
     $("#unit_cost").keyup(function() {        
         $("#total_cost").val($("#unit_cost").val() * $("#received_quantity").val());        
     });    
 });
4

1 に答える 1

1

@Örsが言ったように、IDをクラスに変更してください。また、操作のコンテキストは次のように行にする必要があります。

$(document).ready( function(){
    $(".unit_cost").keyup(function(){
        var tr=$(this).closest('tr');
        $(".total_cost",tr).val($(".unit_cost",tr).val() * $(".received_quantity",tr).val());
    });
});
于 2013-01-22T06:24:29.573 に答える