这是我的代码。我对输入元素有不同的ID,我的想法是将相同的值更新为所有输入。我有想法如何更新所有输入onchange但我需要更改下一个但不是之前的。示例假设如果我有20个输入,如果我更改第8个输入,则应将值更新为从第8个到第20个输入的所有输入,但不应更改前7个输入。我坚持在这里如何编写代码。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('.tc').change(function(){
var id=$(this).attr("id");
var val=$(this).val();
var tot=$('.tc').length;
});
});
</script>
</head>
<body>
<?php
include('connect.php');
$yr=$_POST['year'];
$sm=$_POST['sem'];
$br=$_POST['branch'];
$k=0;
$sql="select * from intstd where year='$yr' and sem='$sm' and branch='$br'";
$query=mysql_query($sql);
echo"<table>";
while($row=mysql_fetch_array($query))
{
$k++;
echo"<tr>";
echo"<td>$k</td>";
echo"<td>". $row['rollno']."</td>";
echo"<td><input type='text' name='a[]' class='tc' id='$k' /></td>";
echo"<td><input type='text' name='b[]' id='$k' /></td>";
echo"</tr>";
}
echo"</table>";
?>
</body>
</html>
答案 0 :(得分:1)
在这里,您将使用示例解决方案https://jsfiddle.net/6mxo5zu1/
$('input[type="text"]').change(function(){
var that = this;
$(this).nextAll('input[type="text"]').each(function(){
$(this).val($(that).val());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="text-1" />
<input type="text" id="text-2" />
<input type="text" id="text-3" />
<input type="text" id="text-4" />
<input type="text" id="text-5" />
<input type="text" id="text-6" />
<input type="text" id="text-7" />
<input type="text" id="text-8" />
<input type="text" id="text-9" />
<input type="text" id="text-10" />
<input type="text" id="text-11" />
<input type="text" id="text-12" />
我有12个input textbox
附加了唯一的id
。
其中一个文本框值更改,input textbox
值的其余部分将更新仅下一个而不是之前的。
无需在此处使用id
。
希望这会对你有所帮助。
答案 1 :(得分:0)
只需为您的输入设置唯一的ID(例如,以input_0
,input_1
等形式设置)并尝试按如下方式循环:
for (var i=first_index_to_modify; i<=last_index_to_modify; i++) {
$('#input_'+i).val('myval');
}
答案 2 :(得分:0)
我看到你的输入有顺序ID,如1,2,3等等。
你可以这样做。
var i = 0;
for(i = 1;i <$('.tc').length; i++ ) {
if ($('.tc')[i].attr('id') >= id) {
$('.tc')[i].val(val);
}
}