jquery接下来都没有为输入工作

时间:2017-09-09 11:11:21

标签: jquery

嗨,这里的朋友是我的代码。接下来一切都不在jquery中工作。当我输入输入时,下一个所有输入必须具有相同的值,并且不应更改先前的值。在这里我已经编写了代码但是当给出值时,下一个输入没有得到值。如果我更改任何值,则应更改下一个值,但不能更改

 <html>
   <head>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
   <script>
     $(document).ready(function(){

        $('.tot').change(function(){

           var tc=$(this).val();

             $(this).nextAll('.tot').each(function(){

               $(this).val(tc);

            });

         });

       });
     </script>
   </head>
  <body>
     <?php
       include('connect.php');
       $yr=$_POST['year'];
       $sm=$_POST['sem'];
       $br=$_POST['branch'];
       $sc=$_POST['sec'];
       $k=0;

       $sql="select rollno from intstd where year='$yr' and sem='$sm' and branch='$br' and sec='$sc'";
       $query=mysql_query($sql);
         echo"<table>";
             while($row=mysql_fetch_array($query))
             {
                 $k++;
                 $roll=$row['rollno'];
                 echo"<tr>";
                 echo"<td>$k</td>";
                 echo"<td>$roll</td>";
                 echo"<td><input type='text' class='tot' name='a[]'/></td>";
                 echo"<td><input type='text' name='b[]' /></td>";
                 echo"</tr>";
                }
              echo"</table>";
              ?>

             </body>
           </html>

1 个答案:

答案 0 :(得分:1)

您的代码无效,因为.nextAll()应该应用于兄弟姐妹。但在您的情况下,.tot<td>的孩子。这意味着你必须做一点这样的修正:

    $('.tot').change(function(){
       var tc = $(this).val();

       $(this).parent().nextAll().find('.tot').each( function() {
           $(this).val(tc);
       });

     });

请注意,当onchange失去焦点时,input事件会触发。如果您想立即查看更改,请改为.keyup()

我发现不是每个输入都有.tot类,请检查它。

P.S。:here是一个例子。

UPD :所有带表格的案例的工作示例

  1. 所有<tr>的一个<td>https://jsfiddle.net/xv2avray/4/

  2. 每个<td>都有自己的<tr>https://jsfiddle.net/svLjg9t6/1/

  3. 终极解决方案,如果您有<tr><td><input>where s,其中包含insert into rollup_rb_period_earnings(account_name, song_title, deal_id, period, total_amount) select account_name, song_title, deal_id, period_year_quarter, sum(royalty_amount) from royalty_stream where period_year between 2002 and 2017 group by account_name, song_title, deal_id, period_year_quarter; https://jsfiddle.net/mjnu1hkw/1/