Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使onkeyup在下一行工作?_Javascript_Php_Codeigniter - Fatal编程技术网

Javascript 如何使onkeyup在下一行工作?

Javascript 如何使onkeyup在下一行工作?,javascript,php,codeigniter,Javascript,Php,Codeigniter,案例: 我创建了一个表单输入,其中显示每堂课的所有学生,并逐个输入他们的值。我成功地创建了onkeyup来计算(N.Akhir)以获得期望值。但这只在第一行起作用,在下一行不起作用。 如何使onkeyup在下一行工作 我正在使用codeigniter和javascript来实现这一点 请参阅下面我的代码: 函数hitung2(){ var a=$(“#tt1”).val(); var b=$(“#tt2”).val(); var c=$(“#tt3”).val(); ntt=(parseInt

案例: 我创建了一个表单输入,其中显示每堂课的所有学生,并逐个输入他们的值。我成功地创建了onkeyup来计算(N.Akhir)以获得期望值。但这只在第一行起作用,在下一行不起作用。 如何使onkeyup在下一行工作

我正在使用codeigniter和javascript来实现这一点

请参阅下面我的代码:

函数hitung2(){
var a=$(“#tt1”).val();
var b=$(“#tt2”).val();
var c=$(“#tt3”).val();
ntt=(parseInt(a)+parseInt(b)+parseInt(c))/3;
ntt=ntt.toFixed(2);
$(“ntt”).val(ntt);
var d=$(“#ntt”).val();
var e=$(“#np”).val();
f=(帕塞因特(e)*3+帕塞因特(d)*7)/10
$(“#na”).val(f);
}

不
纳米
总哈迪尔
TT 1
TT 2
TT 3
N.RATA“
党参
N.AKHIR

首先,不要为几个dom元素分配相同的id。这与“id”的含义相矛盾,而是使用类

其次,将对象本身作为参数传递,以便可以检测函数中的整行

因此,您的整个代码可以更新如下:

function hitung2(obj) {
    var $row = $(obj).closest('.row');
    var a = $row.find(".tt1").val();
    var b = $row.find(".tt2").val();
    var c = $row.find(".tt3").val();

    ntt = (parseInt(a) + parseInt(b) + parseInt(c)) /3;
    ntt = ntt.toFixed(2);

    $row.find(".ntt").val(ntt);
    var d = $row.find(".ntt").val();
    var e = $row.find(".np").val();
    f =  (parseInt(e)*3 + parseInt(d)*7) /10 
    $row.find(".na").val(f);           
}


<table class="table table-hover">
    <tr>  
        <th>No</th>                         
        <th>NAMA</th>           
        <th>TOTAL HADIR</th>
        <th>TT 1</th>
        <th>TT 2</th>
        <th>TT 3</th>
        <th>N.RATA"</th>
        <th>N.PARTISIPASI</th>
        <th>N.AKHIR</th>
    </tr>
    <?php  
       if(isset($ambil_data)>0){$i=1; foreach($ambil_data as $row)  {  
                ?>  
            <tr class="row">  
                <td><?php echo $i; ?></td> 
                <td><?php echo $row->nama; ?></td>
                <td><input type="text" class="form-control jml_hadir" id="jml_hadir_<?php echo $i; ?>" maxlength="1" name="jml_hadir" placeholder="Hadir" /><?php echo form_error('jml_hadir');  ?></td>
                <td><input type="text" class="form-control tt1" id="tt1_<?php echo $i; ?>" placeholder="TT1" maxlength="5" name="tt1" onkeyup="hitung2(this)" /><?php echo form_error('tt1');  ?></td>
                <td><input type="text" class="form-control tt2" id="tt2_<?php echo $i; ?>" placeholder="TT1" maxlength="5" name="tt2" onkeyup="hitung2(this)" /><?php echo form_error('tt2');  ?></td>
                <td><input type="text" class="form-control tt3" id="tt3_<?php echo $i; ?>" placeholder="TT1" maxlength="5" name="tt3" onkeyup="hitung2(this)" /><?php echo form_error('tt3');  ?></td>
                <td><input type="text" class="form-control ntt" id="ntt_<?php echo $i; ?>" name="ntt" readonly /></td>
                <td><input type="text" class="form-control np" id="np_<?php echo $i; ?>" placeholder="N.Partisipasi" name="np" onkeyup="hitung2(this)"/><?php echo form_error('np');  ?></td>
                <td><input type="text" class="form-control na" id="na_<?php echo $i; ?>" name="na" readonly /></td>
            </tr>  
        <?php $i++;}}?> 
        </form>
  </table>
功能hitung2(obj){
var$row=$(obj).closest('.row');
var a=$row.find(“.tt1”).val();
var b=$row.find(“.tt2”).val();
var c=$row.find(“.tt3”).val();
ntt=(parseInt(a)+parseInt(b)+parseInt(c))/3;
ntt=ntt.toFixed(2);
$row.find(“.ntt”).val(ntt);
var d=$row.find(“.ntt”).val();
var e=$row.find(“.np”).val();
f=(帕塞因特(e)*3+帕塞因特(d)*7)/10
$row.find(“.na”).val(f);
}
不
纳米
总哈迪尔
TT 1
TT 2
TT 3
N.RATA“
党参
N.AKHIR

这是因为您需要具有唯一的id值或使用类来隔离行。然后,您需要使用
$(this)
@uchuneno引用这些孤立的行。那你也能投我的票吗D