Javascript for循环上未定义的标识符
我从mysql获取数据,并将其显示在HTML表中: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
<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...
}