Javascript for循环上未定义的标识符

Javascript for循环上未定义的标识符,javascript,php,jquery,Javascript,Php,Jquery,我从mysql获取数据,并将其显示在HTML表中: <table class="table table-bordered table-hover table-responsive"> <?php foreach($fetch2 as $l2){?> <tr id="<?php echo $l2['cid'] ?>"> <td><?php echo $l2['cname'] ?></td

我从mysql获取数据,并将其显示在HTML表中:

<table class="table table-bordered table-hover table-responsive">
  <?php foreach($fetch2 as $l2){?>

     <tr id="<?php echo $l2['cid'] ?>">
         <td><?php echo $l2['cname'] ?></td><td><input type="number" class="form-control" name="<?php echo $l2['cid'] ?>" id="<?php echo $l2['cid'] ?>" value="" /></td>
     </tr>
  <?php }?>
</table>


既然我发表评论后什么也没发生,我就试试看

首先。如果我读对了你的代码。您为表行指定了相同的id 和表行中的输入

id应该是唯一的。所以这应该是改变,这可能就是为什么你不能得到你的输入值

第二,为什么不将其动态化,这样就不需要硬编码循环计数

为表行指定相同的css类,使用Jquery选择它并查找输入。 在此之后,您可以操纵输入的值

我做了一把小提琴,这表明了我的意思,我希望这会有所帮助。 请记住在要使用jquery的页面中包含jquery

//单据准备就绪时运行
$(函数(){
//使用类“tablerow”在每个TR上循环
$.each($(“.tableRow”),函数(索引,值){
//在行中查找输入字段
var inputElment=$(值).find(“输入”);
//获取输入的id值
var inputId=inputElment.prop(“id”);
//设置输入值
val(“行输入id为:+inputId”);
//从输入元素读取值
console.log(inputElment.val())
})
});


int
在Javascript中没有任何含义;这不是Java。使用
let
代替。直接使用:-
for(i=0;i@AlivetoDie不要隐式地创建全局变量。就是这样。谢谢。@AM9090最好现在就结束这个问题,因为它对任何人都没有用处。顺便说一句,随你的便
for (int i=0; i<=33; i++) //because all inputs have id as numbers
{
    var id = $("#"+i).attr('id') //to get the id of all inputs
    var idValue = $("#"+i).val();

    //Send these value to php to update the database.
    //Ajax...

}