嗨,这里的朋友是我的代码。接下来一切都不在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>
答案 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 :所有带表格的案例的工作示例
所有<tr>
的一个<td>
:https://jsfiddle.net/xv2avray/4/
每个<td>
都有自己的<tr>
:https://jsfiddle.net/svLjg9t6/1/
终极解决方案,如果您有<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/